Function at 0x4e6b30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x58
fld qword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
fst qword [esp + 0x50]
movzx edx, byte [esp + 0x57]
push ebx
movzx ebx, byte [esp + 0x5a]
shl edx, 8
add edx, ebx
movzx ebx, byte [esp + 0x59]
shl edx, 8
add edx, ebx
movzx ebx, byte [esp + 0x58]
push ebp
push esi
mov esi, dword [esp + 0x7c]
shl edx, 8
push edi
xor edi, edi
xor ebp, ebp
add edx, ebx
mov dword [esp + 0x24], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x34], edi
test edx, edx
jns 0x4e6bd9
mov dword [eax], 1
fstp qword [esp + 0x60]
movzx eax, byte [esp + 0x67]
movzx edx, byte [esp + 0x66]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x65]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x64]
shl eax, 8
add eax, edx
and eax, 0x7fffffff
mov edx, eax
shr edx, 0x18
mov byte [esp + 0x73], dl
mov edx, eax
shr edx, 0x10
mov byte [esp + 0x72], dl
mov edx, eax
shr edx, 8
mov byte [esp + 0x71], dl
mov byte [esp + 0x70], al
fld qword [esp + 0x6c]
jmp 0x4e6bdb
mov dword [eax], edi
fst qword [esp + 0x60]
movzx eax, byte [esp + 0x67]
movzx edx, byte [esp + 0x66]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x65]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x64]
shl eax, 8
add eax, edx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x4e6c92
fst qword [esp + 0x6c]
movzx eax, byte [esp + 0x6f]
movzx edx, byte [esp + 0x6d]
mov dword [ecx], 0x270f
movzx ecx, byte [esp + 0x6e]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x6c]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
jne 0x4e6c6d
fstp qword [esp + 0x6c]
movzx edx, byte [esp + 0x72]
movzx eax, byte [esp + 0x71]
movzx ecx, byte [esp + 0x70]
shl edx, 8
add edx, eax
shl edx, 8
add edx, ecx
test edx, 0xfffff
jne 0x4e6c6f
mov eax, str.Infinity
jmp 0x4e6c74
fstp st(0)
mov eax, 0x601008
cmp esi, edi
je 0x4e7a2d
cmp byte [eax + 3], 0
lea ecx, [eax + 3]
je 0x4e6c88
lea ecx, [eax + 8]
pop edi
mov dword [esi], ecx
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
fld qword [0x657948]
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x4e6cc0
fstp st(0)
mov dword [ecx], 1
cmp esi, edi
je 0x4e6cb3
mov dword [esi], 0x5aadd5
pop edi
pop esi
pop ebp
mov eax, 0x5aadd4
pop ebx
add esp, 0x58
ret
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x4c]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004e51d0
fld qword [esp + 0x7c]
mov ebx, dword [esp + 0x6c]
fst qword [esp + 0x70]
movzx esi, byte [esp + 0x77]
movzx ecx, byte [esp + 0x76]
movzx edx, byte [esp + 0x75]
shl esi, 8
add esi, ecx
shl esi, 8
add esi, edx
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x74]
shl esi, 8
add esi, eax
shr esi, 0x14
add esp, 0x10
and esi, 0x7ff
je 0x4e6db9
fst qword [esp + 0x60]
fst qword [esp + 0x54]
movzx eax, byte [esp + 0x5a]
movzx ecx, byte [esp + 0x59]
movzx edx, byte [esp + 0x58]
shl eax, 8
add eax, ecx
shl eax, 8
add eax, edx
and eax, 0xfffff
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x67], cl
mov edx, eax
mov ecx, eax
shr ecx, 8
mov byte [esp + 0x64], al
shr edx, 0x10
mov byte [esp + 0x65], cl
mov byte [esp + 0x66], dl
fld qword [esp + 0x60]
fstp qword [esp + 0x54]
movzx eax, byte [esp + 0x5b]
movzx edx, byte [esp + 0x5a]
movzx ecx, byte [esp + 0x59]
shl eax, 8
add eax, edx
movzx edx, byte [esp + 0x58]
shl eax, 8
add eax, ecx
shl eax, 8
add eax, edx
or eax, 0x3ff00000
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x67], cl
mov edx, eax
mov ecx, eax
shr edx, 0x10
shr ecx, 8
mov byte [esp + 0x66], dl
mov byte [esp + 0x65], cl
sub esi, 0x3ff
mov dword [esp + 0x54], edi
jmp 0x4e6e7b
mov edx, dword [esp + 0x48]
lea esi, [edx + ebx + 0x432]
sub esp, 8
cmp esi, 0x20
fstp qword [esp]
jle 0x4e6df7
call fcn.004e4790
fld qword [esp + 0x74]
mov ecx, 0x40
fstp qword [esp]
mov edi, eax
sub ecx, esi
shl edi, cl
call fcn.004e47c0
lea ecx, [esi - 0x20]
shr eax, cl
add esp, 8
or edi, eax
jmp 0x4e6e0a
call fcn.004e47c0
mov ecx, 0x20
mov edi, eax
sub ecx, esi
add esp, 8
shl edi, cl
mov dword [esp + 0x60], edi
fild dword [esp + 0x60]
test edi, edi
jge 0x4e6e1c
fadd qword [0x600fd0]
fst qword [esp + 0x60]
sub esi, 0x433
fstp qword [esp + 0x54]
movzx eax, byte [esp + 0x5b]
movzx ecx, byte [esp + 0x5a]
fld qword [esp + 0x6c]
movzx edx, byte [esp + 0x59]
shl eax, 8
lea eax, [eax + ecx + 0xfe10]
movzx ecx, byte [esp + 0x58]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
mov edx, eax
shr edx, 0x18
mov byte [esp + 0x67], dl
mov ecx, eax
mov edx, eax
shr ecx, 0x10
shr edx, 8
mov byte [esp + 0x66], cl
mov byte [esp + 0x65], dl
mov dword [esp + 0x54], 1
xor edi, edi
mov byte [esp + 0x64], al
fld qword [esp + 0x60]
fsub qword [0x601000]
mov dword [esp + 0x38], esi
fmul qword [0x600ff8]
fadd qword [0x600ff0]
fild dword [esp + 0x38]
fmul qword [0x600fe8]
faddp st(1)
fld st(0)
call fcn.005027f0
fldz
fcomp st(1)
mov ecx, eax
mov dword [esp + 0x18], ecx
fnstsw ax
test ah, 0x41
jne 0x4e6ed1
fild dword [esp + 0x18]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4e6ed3
dec ecx
mov dword [esp + 0x18], ecx
jmp 0x4e6ed3
fstp st(0)
mov dword [esp + 0x4c], 1
cmp ecx, 0x16
ja 0x4e6ef9
fcomp qword [ecx*8 + 0x600ea0]
fnstsw ax
test ah, 5
jp 0x4e6ef3
dec ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x4c], edi
jmp 0x4e6efb
fstp st(0)
mov eax, ebx
sub eax, esi
sub eax, 1
js 0x4e6f0a
mov dword [esp + 0x1c], edi
jmp 0x4e6f12
neg eax
mov dword [esp + 0x1c], eax
xor eax, eax
cmp ecx, edi
mov dword [esp + 0x20], eax
jl 0x4e6f2a
add eax, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], eax
jmp 0x4e6f3a
sub dword [esp + 0x1c], ecx
mov eax, ecx
neg eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edi
mov eax, dword [esp + 0x74]
cmp eax, edi
jl 0x4e6f47
cmp eax, 9
jle 0x4e6f4b
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x74]
xor edx, edx
cmp eax, 5
mov edi, 1
jle 0x4e6f64
sub eax, 4
mov dword [esp + 0x74], eax
xor edi, edi
mov dword [esp + 0x30], 1
cmp eax, 5
ja case.default.0x4e6f71
jmp dword [eax*4 + 0x4e7a38]
or ebp, 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x24], ebp
lea esi, [ebp + 0x13]
mov dword [esp + 0x78], edx
jmp case.default.0x4e6f71
mov dword [esp + 0x30], edx
mov esi, dword [esp + 0x78]
cmp esi, edx
jg 0x4e6fa5
mov esi, 1
mov dword [esp + 0x78], esi
mov ebp, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x24], ebp
jmp case.default.0x4e6f71
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x78]
lea esi, [ecx + eax + 1]
cmp esi, edx
mov ebp, esi
lea ecx, [esi - 1]
mov dword [esp + 0x24], ebp
mov dword [esp + 0x40], ecx
jg case.default.0x4e6f71
mov esi, 1
inc esi
push esi
call fcn.004fe27d
fld qword [0x5f31c0]
mov edx, dword [esp + 0x88]
fld qword [0x600fe0]
mov ebx, eax
add esp, 4
mov dword [esp + 0x44], ebx
mov dword [edx], ebx
mov esi, ebx
cmp ebp, 0xe
ja 0x4e72d0
test edi, edi
je 0x4e72d0
mov eax, dword [esp + 0x18]
fld qword [esp + 0x6c]
mov edx, 2
fld st(0)
mov dword [esp + 0x24], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0x6c], edx
test eax, eax
jle 0x4e7074
mov ecx, eax
and ecx, 0xf
fld qword [ecx*8 + 0x600ea0]
sar eax, 4
test al, 0x10
je 0x4e7053
fxch st(2)
mov edx, 3
fdiv qword [0x600f78]
and eax, 0xf
mov dword [esp + 0x6c], edx
fxch st(2)
test eax, eax
je 0x4e7070
mov ecx, 0x600f58
test al, 1
je 0x4e7063
fmul qword [ecx]
inc edx
sar eax, 1
add ecx, 8
test eax, eax
jne 0x4e705c
mov dword [esp + 0x6c], edx
fdivp st(2)
jmp 0x4e70a8
neg eax
je 0x4e70a8
mov ecx, eax
and ecx, 0xf
fld qword [ecx*8 + 0x600ea0]
sar eax, 4
fmulp st(2)
test eax, eax
je 0x4e70a8
mov ecx, 0x600f58
test al, 1
je 0x4e709b
fld qword [ecx]
inc edx
fmulp st(2)
sar eax, 1
add ecx, 8
test eax, eax
jne 0x4e7092
mov dword [esp + 0x6c], edx
fld1
xor edi, edi
cmp dword [esp + 0x4c], edi
je 0x4e70da
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x4e70da
cmp ebp, edi
jle 0x4e70da
mov ebp, dword [esp + 0x40]
cmp ebp, edi
jle 0x4e72b4
dec dword [esp + 0x18]
fxch st(2)
inc edx
fmul st(4)
mov dword [esp + 0x6c], edx
fxch st(2)
fild dword [esp + 0x6c]
fmul st(3)
fadd qword [0x600fd8]
fst qword [esp + 0x6c]
fstp qword [esp + 0x28]
movzx edx, byte [esp + 0x2f]
movzx eax, byte [esp + 0x2e]
movzx ecx, byte [esp + 0x2d]
shl edx, 8
lea eax, [edx + eax + 0xfcc0]
movzx edx, byte [esp + 0x2c]
shl eax, 8
add eax, ecx
shl eax, 8
add eax, edx
mov ecx, eax
shr ecx, 0x18
mov byte [esp + 0x73], cl
mov edx, eax
mov ecx, eax
shr edx, 0x10
shr ecx, 8
mov byte [esp + 0x72], dl
mov byte [esp + 0x71], cl
mov byte [esp + 0x70], al
cmp ebp, edi
jne 0x4e717d
fstp st(0)
mov dword [esp + 0x14], edi
fxch st(1)
mov dword [esp + 0x28], edi
fsub st(2)
fld qword [esp + 0x6c]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4e76f8
fchs
fcompp
fnstsw ax
test ah, 0x41
jne 0x4e72b8
fstp st(2)
fstp st(0)
fstp st(0)
or eax, 0xffffffff
sub eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
jmp 0x4e7927
cmp dword [esp + 0x30], edi
je 0x4e722e
fld qword [0x638df0]
xor edi, edi
fdiv qword [ebp*8 + 0x600e98]
fsub qword [esp + 0x6c]
fld st(3)
call fcn.005027f0
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
add al, 0x30
mov byte [ebx], al
fsubp st(4)
lea esi, [ebx + 1]
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x4e71ed
fstp st(3)
fstp st(2)
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004fe160
mov eax, dword [esp + 0x48]
add esp, 4
cmp esi, eax
jne 0x4e7a12
mov byte [esi], 0x30
inc esi
xor ecx, ecx
jmp 0x4e7a16
fxch st(3)
fld st(1)
fsub st(4)
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x4e73cc
inc edi
cmp edi, ebp
jge 0x4e72b2
fmul st(5)
fxch st(3)
fmul st(5)
fld st(0)
call fcn.005027f0
mov dword [esp + 0x6c], eax
fisub dword [esp + 0x6c]
add al, 0x30
mov byte [esi], al
inc esi
fcom st(3)
fnstsw ax
test ah, 5
jp 0x4e71eb
fstp st(0)
jmp 0x4e71bd
fstp st(0)
fld qword [ebp*8 + 0x600e98]
fmul qword [esp + 0x6c]
fld st(2)
call fcn.005027f0
mov dword [esp + 0x6c], eax
fild dword [esp + 0x6c]
add al, 0x30
mov byte [ebx], al
fsubp st(3)
lea esi, [ebx + 1]
cmp ebp, 1
je 0x4e727a
lea edi, [ebp - 1]
fxch st(2)
fmul st(4)
fld st(0)
call fcn.005027f0
mov dword [esp + 0x6c], eax
fisub dword [esp + 0x6c]
add al, 0x30
mov byte [esi], al
fxch st(2)
inc esi
sub edi, 1
jne 0x4e725b
fld st(0)
fld qword [0x638df0]
fadd st(1), st(0)
fxch st(1)
fcomp st(4)
fnstsw ax
test ah, 5
jnp 0x4e73d6
fsubrp st(1)
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4e72b8
fstp st(2)
fstp st(0)
fstp st(0)
dec esi
cmp byte [esi], 0x30
je 0x4e72a6
inc esi
jmp 0x4e71c7
fstp st(3)
fstp st(2)
fstp st(1)
mov edx, dword [esp + 0x24]
fst qword [esp + 0x6c]
mov ebp, dword [esp + 0x60]
mov esi, ebx
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], ebp
jmp 0x4e72d4
fld qword [esp + 0x6c]
xor ecx, ecx
cmp dword [esp + 0x48], ecx
jl 0x4e7409
mov eax, dword [esp + 0x18]
cmp eax, 0xe
jg 0x4e7409
cmp dword [esp + 0x78], ecx
fld qword [eax*8 + 0x600ea0]
jge 0x4e732f
cmp ebp, ecx
jg 0x4e732f
fstp st(3)
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], ecx
jl 0x4e7711
fxch st(2)
fmulp st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x4e7702
or eax, 0xffffffff
sub eax, dword [esp + 0x78]
mov dword [esp + 0x18], eax
jmp 0x4e7927
fstp st(2)
fld st(0)
fdiv st(2)
call fcn.005027f0
mov ecx, eax
mov dword [esp + 0x6c], ecx
fild dword [esp + 0x6c]
mov al, cl
add al, 0x30
fmul st(2)
mov byte [ebx], al
lea esi, [ebx + 1]
fsubp st(1)
cmp ebp, 1
je 0x4e73c4
fld qword [0x657948]
mov edi, esi
sub edi, ebx
jmp 0x4e7364
fxch st(1)
fxch st(1)
fmul st(3)
fld st(1)
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x4e7a07
fld st(0)
fdiv st(3)
call fcn.005027f0
mov ecx, eax
mov dword [esp + 0x6c], ecx
fild dword [esp + 0x6c]
mov dl, cl
add dl, 0x30
fmul st(3)
mov byte [esi], dl
inc edi
inc esi
fsubp st(1)
cmp edi, ebp
jne 0x4e7362
fstp st(3)
fstp st(0)
fld st(1)
faddp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4e73c8
fucompp
fnstsw ax
test ah, 0x44
jp 0x4e71c7
test cl, 1
je 0x4e71c7
jmp 0x4e73e2
fstp st(2)
jmp 0x4e739f
fstp st(1)
jmp 0x4e73e0
fstp st(3)
fstp st(2)
fstp st(3)
fstp st(0)
jmp 0x4e73de
fstp st(3)
fstp st(2)
fstp st(1)
fstp st(2)
fstp st(0)
fstp st(0)
dec esi
cmp byte [esi], 0x39
jne 0x4e7401
cmp esi, ebx
je 0x4e73fa
dec esi
cmp byte [esi], 0x39
je 0x4e73e8
inc byte [esi]
inc esi
jmp 0x4e71c7
inc dword [esp + 0x18]
mov byte [esi], 0x30
inc byte [esi]
inc esi
jmp 0x4e71c7
cmp dword [esp + 0x30], 0
fstp st(0)
mov ecx, dword [esp + 0x38]
fstp st(1)
mov ebx, dword [esp + 0x1c]
fstp st(0)
mov edi, ecx
mov dword [esp + 0x34], 0
mov dword [esp + 0x14], 0
je 0x4e7493
cmp dword [esp + 0x74], 2
jge 0x4e7454
cmp dword [esp + 0x54], 0
je 0x4e7449
mov eax, dword [esp + 0x48]
add eax, 0x433
jmp 0x4e7479
mov eax, 0x36
sub eax, dword [esp + 0x5c]
jmp 0x4e7479
lea eax, [ebp - 1]
cmp ecx, eax
jl 0x4e7461
mov edi, ecx
sub edi, eax
jmp 0x4e746f
sub eax, ecx
add dword [esp + 0x3c], eax
add ecx, eax
mov dword [esp + 0x38], ecx
xor edi, edi
mov eax, ebp
test ebp, ebp
jge 0x4e7479
sub ebx, ebp
xor eax, eax
add dword [esp + 0x1c], eax
add dword [esp + 0x20], eax
push 1
call fcn.004e4a80
mov ecx, dword [esp + 0x3c]
add esp, 4
mov dword [esp + 0x14], eax
test ebx, ebx
jle 0x4e74b3
mov edx, dword [esp + 0x20]
test edx, edx
jle 0x4e74b3
cmp ebx, edx
mov eax, ebx
jl 0x4e74a7
mov eax, edx
sub dword [esp + 0x1c], eax
sub ebx, eax
sub edx, eax
mov dword [esp + 0x20], edx
test ecx, ecx
jle 0x4e7516
cmp dword [esp + 0x30], 0
je 0x4e7501
test edi, edi
jle 0x4e74f4
mov eax, dword [esp + 0x14]
push eax
mov eax, edi
call fcn.004e5ac0
mov ecx, dword [esp + 0x14]
push ecx
push eax
mov dword [esp + 0x20], eax
call fcn.004e4ab0
mov edx, dword [esp + 0x1c]
push edx
mov ebp, eax
call fcn.004fe160
mov ecx, dword [esp + 0x48]
add esp, 0x10
mov dword [esp + 0x10], ebp
sub ecx, edi
mov eax, ecx
je 0x4e7516
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x4e750a
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x38]
push edx
call fcn.004e5ac0
mov dword [esp + 0x14], eax
add esp, 4
push 0x1c
call fcn.004fe27d
mov ecx, 1
mov dword [eax + 4], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x40]
add esp, 4
mov edi, 2
mov ebp, eax
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [esp + 0x28], ebp
test ecx, ecx
jle 0x4e755c
push eax
mov eax, ecx
call fcn.004e5ac0
add esp, 4
mov ebp, eax
mov dword [esp + 0x28], eax
cmp dword [esp + 0x74], edi
jge 0x4e75df
fld qword [esp + 0x6c]
fst qword [esp + 0x60]
movzx eax, byte [esp + 0x63]
movzx ecx, byte [esp + 0x62]
movzx edx, byte [esp + 0x61]
shl eax, 8
add eax, ecx
movzx ecx, byte [esp + 0x60]
shl eax, 8
add eax, edx
shl eax, 8
add eax, ecx
jne 0x4e75d5
sub esp, 8
fstp qword [esp]
call fcn.004e4790
add esp, 8
test eax, 0xfffff
jne 0x4e75d7
fld qword [esp + 0x6c]
sub esp, 8
fstp qword [esp]
call fcn.004e4790
add esp, 8
test eax, 0x7ff00000
je 0x4e75d7
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
inc edx
inc edi
mov dword [esp + 0x50], 1
jmp 0x4e75e7
fstp st(0)
mov dword [esp + 0x50], 0
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
cmp dword [esp + 0x3c], 0
je 0x4e7603
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + eax*4 + 0x10]
call fcn.004e49b0
mov ecx, 0x20
sub ecx, eax
jmp 0x4e7608
mov ecx, 1
lea eax, [ecx + edi]
and eax, 0x1f
je 0x4e7619
mov ecx, 0x20
sub ecx, eax
mov eax, ecx
cmp eax, 4
jle 0x4e7623
sub eax, 4
jmp 0x4e7628
jge 0x4e762e
add eax, 0x1c
add edx, eax
add ebx, eax
add edi, eax
test edx, edx
jle 0x4e7644
push edx
mov edx, dword [esp + 0x14]
push edx
call fcn.004e4c80
add esp, 8
mov dword [esp + 0x10], eax
test edi, edi
jle 0x4e7658
push edi
push ebp
call fcn.004e4c80
mov ebp, eax
add esp, 8
mov dword [esp + 0x28], ebp
cmp dword [esp + 0x4c], 0
je 0x4e76ab
mov edx, dword [esp + 0x10]
mov eax, ebp
call fcn.004e4d70
test eax, eax
jge 0x4e76ab
mov ecx, dword [esp + 0x10]
dec dword [esp + 0x18]
push 0xa
xor eax, eax
call fcn.004e4820
add esp, 4
cmp dword [esp + 0x30], 0
mov dword [esp + 0x10], eax
je 0x4e76a1
mov ecx, dword [esp + 0x14]
push 0xa
xor eax, eax
call fcn.004e4820
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x24], eax
jmp 0x4e76af
mov eax, dword [esp + 0x24]
test eax, eax
jg 0x4e7727
cmp dword [esp + 0x74], 2
jle 0x4e7727
test eax, eax
jl 0x4e716d
push 5
xor eax, eax
mov ecx, ebp
call fcn.004e4820
mov edx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x28], eax
call fcn.004e4d70
test eax, eax
jle 0x4e716d
mov ebx, dword [esp + 0x44]
inc dword [esp + 0x18]
mov byte [ebx], 0x31
lea esi, [ebx + 1]
jmp 0x4e7927
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
inc dword [esp + 0x18]
mov byte [ebx], 0x31
lea esi, [ebx + 1]
jmp 0x4e7927
fstp st(0)
or eax, 0xffffffff
sub eax, dword [esp + 0x78]
fstp st(1)
fstp st(0)
mov dword [esp + 0x18], eax
jmp 0x4e7927
cmp dword [esp + 0x30], 0
je 0x4e7968
test ebx, ebx
jle 0x4e7748
mov eax, dword [esp + 0x14]
push ebx
push eax
call fcn.004e4c80
add esp, 8
mov dword [esp + 0x14], eax
cmp dword [esp + 0x50], 0
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x34], ebp
je 0x4e778a
mov ecx, ebp
mov edi, dword [ecx + 4]
call fcn.004e47f0
mov edx, dword [ebp + 0x10]
mov edi, eax
lea eax, [edx*4 + 8]
push eax
add ebp, 0xc
lea ecx, [edi + 0xc]
push ebp
push ecx
call fcn.00501eb0
push 1
push edi
call fcn.004e4c80
add esp, 0x14
mov dword [esp + 0x14], eax
mov dword [esp + 0x38], 1
mov edi, dword [esp + 0x28]
mov ebp, dword [esp + 0x10]
push edi
push ebp
call fcn.004e5480
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov edx, ebp
add ebx, 0x30
call fcn.004e4d70
mov edx, dword [esp + 0x1c]
mov ebp, eax
push edx
mov eax, edi
call fcn.004e4dc0
mov edi, eax
add esp, 0xc
cmp dword [edi + 0xc], 0
je 0x4e77d4
mov dword [esp + 0x40], 1
jmp 0x4e77e3
mov edx, dword [esp + 0x10]
mov eax, edi
call fcn.004e4d70
mov dword [esp + 0x40], eax
push edi
call fcn.004fe160
add esp, 4
cmp dword [esp + 0x40], 0
jne 0x4e780d
cmp dword [esp + 0x74], 0
jne 0x4e780d
fld qword [esp + 0x6c]
fstp qword [esp + 0x60]
test byte [esp + 0x60], 1
je 0x4e78b7
test ebp, ebp
jl 0x4e78d0
jne 0x4e7838
cmp dword [esp + 0x74], 0
jne 0x4e7838
fld qword [esp + 0x6c]
sub esp, 8
fstp qword [esp]
call fcn.004e47c0
add esp, 8
test al, 1
je 0x4e78d0
cmp dword [esp + 0x40], 0
jg 0x4e78c5
mov eax, dword [esp + 0x24]
mov byte [esi], bl
inc esi
cmp dword [esp + 0x38], eax
je 0x4e79b8
mov ecx, dword [esp + 0x10]
push 0xa
xor eax, eax
call fcn.004e4820
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x10], eax
xor eax, eax
push 0xa
cmp ecx, edi
jne 0x4e7893
mov ecx, edi
call fcn.004e4820
add esp, 4
inc dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], eax
jmp 0x4e7792
call fcn.004e4820
mov dword [esp + 0x38], eax
push 0xa
xor eax, eax
mov ecx, edi
call fcn.004e4820
add esp, 8
inc dword [esp + 0x38]
mov dword [esp + 0x14], eax
jmp 0x4e7792
cmp ebx, 0x39
je 0x4e7908
test ebp, ebp
jle 0x4e78c1
inc ebx
mov byte [esi], bl
jmp 0x4e7926
cmp ebx, 0x39
je 0x4e7908
inc bl
mov byte [esi], bl
jmp 0x4e7926
cmp dword [esp + 0x40], 0
jle 0x4e78c1
mov ecx, dword [esp + 0x10]
push 1
push ecx
call fcn.004e4c80
mov edx, eax
mov eax, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], edx
call fcn.004e4d70
test eax, eax
jg 0x4e7900
jne 0x4e78c1
test bl, 1
je 0x4e78c1
mov edx, ebx
inc ebx
cmp edx, 0x39
jne 0x4e78c1
mov byte [esi], 0x39
inc esi
dec esi
cmp byte [esi], 0x39
jne 0x4e7924
mov eax, dword [esp + 0x44]
cmp esi, eax
je 0x4e79fb
dec esi
cmp byte [esi], 0x39
je 0x4e7916
inc byte [esi]
inc esi
mov edx, dword [esp + 0x28]
push edx
call fcn.004fe160
add esp, 4
cmp dword [esp + 0x14], 0
je 0x4e71c7
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4e7956
cmp eax, dword [esp + 0x14]
je 0x4e7956
push eax
call fcn.004fe160
add esp, 4
mov eax, dword [esp + 0x14]
push eax
call fcn.004fe160
add esp, 4
jmp 0x4e71c7
mov eax, dword [esp + 0x10]
push ebp
push eax
call fcn.004e5480
mov esi, dword [esp + 0x4c]
mov ebx, eax
add ebx, 0x30
mov byte [esi], bl
add esp, 8
inc esi
cmp dword [esp + 0x24], 1
jle 0x4e79b8
mov edi, dword [esp + 0x24]
dec edi
mov edi, edi
mov ecx, dword [esp + 0x10]
push 0xa
xor eax, eax
call fcn.004e4820
push ebp
push eax
mov dword [esp + 0x1c], eax
call fcn.004e5480
mov ebx, eax
add ebx, 0x30
mov byte [esi], bl
add esp, 0xc
inc esi
sub edi, 1
jne 0x4e7990
mov ecx, dword [esp + 0x10]
push 1
push ecx
call fcn.004e4c80
mov edx, eax
mov eax, dword [esp + 0x30]
add esp, 8
mov dword [esp + 0x10], edx
call fcn.004e4d70
test eax, eax
jg 0x4e790c
jne 0x4e79f0
test bl, 1
jne 0x4e790c
lea esp, [esp]
dec esi
cmp byte [esi], 0x30
je 0x4e79f0
jmp 0x4e7926
inc dword [esp + 0x18]
mov byte [esi], 0x31
jmp 0x4e7926
fstp st(0)
fstp st(1)
fstp st(1)
jmp 0x4e71c5
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x7c]
inc ecx
mov byte [esi], 0
mov dword [edx], ecx
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x4e7a2d
mov dword [ecx], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret