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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x214
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
mov dword [esp + 0x6c], edx
movsx eax, byte [ebx]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x28], edi
test eax, eax
je 0x4915e6
fldz
fst qword [esp + 0x78]
fld qword [0x5269e0]
fst qword [esp + 0x98]
fld qword [0x5269d8]
mov esi, dword [ebp + 0xc]
fst qword [esp + 0x80]
fld qword [0x526a38]
fstp qword [esp + 0xa0]
fld qword [0x5269c8]
fstp qword [esp + 0xa8]
fld qword [0x526a10]
fst qword [esp + 0x88]
fld qword [0x5269d0]
fst qword [esp + 0x90]
fld qword [0x5269e8]
fst qword [esp + 0x70]
fld1
fstp qword [esp + 0xb0]
mov dword [esp + 0x1c], esi
jmp 0x4906bb
fxch st(1)
fxch st(5)
fxch st(1)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
fxch st(1)
mov edx, esi
mov dword [esp + 0x58], edx
cmp eax, 0x25
je 0x490745
movsx esi, byte [ebx + 1]
fstp st(5)
fstp st(3)
mov edi, ebx
inc ebx
mov dword [esp + 0x28], edi
fstp st(1)
mov eax, 1
fstp st(2)
fstp st(1)
fstp st(0)
cmp esi, 0x25
je 0x4906f6
test esi, esi
je 0x4906f6
movsx esi, byte [ebx + 1]
inc ebx
inc eax
cmp esi, 0x25
jne 0x4906e7
push eax
mov edx, edi
call fcn.00491660
add esp, 4
test esi, esi
je 0x4915e6
fld qword [esp + 0x80]
fld qword [esp + 0x70]
fld qword [esp + 0x88]
fld qword [esp + 0x90]
fld qword [esp + 0x78]
fld qword [esp + 0x98]
fxch st(1)
mov edx, dword [esp + 0x58]
fxch st(5)
mov esi, dword [esp + 0x1c]
fxch st(1)
fxch st(4)
fxch st(1)
fxch st(3)
fxch st(2)
fxch st(1)
movsx ecx, byte [ebx + 1]
inc ebx
test ecx, ecx
je 0x4915b4
xor al, al
mov byte [esp + 0x1b], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x24], al
mov byte [esp + 0x12], al
mov byte [esp + 0x3a], al
mov byte [esp + 0x25], al
lea eax, [ecx - 0x20]
cmp eax, 0x10
ja case.0x49077b.34
movzx eax, byte [eax + 0x49160c]
jmp dword [eax*4 + 0x4915f0]
mov byte [esp + 0x25], 1
jmp 0x4907aa
mov byte [esp + 0x3a], 1
jmp 0x4907aa
mov byte [esp + 0x12], 1
jmp 0x4907aa
mov byte [esp + 0x24], 1
jmp 0x4907aa
mov byte [esp + 0x3b], 1
jmp 0x4907aa
mov byte [esp + 0x1b], 1
movsx ecx, byte [ebx + 1]
inc ebx
test ecx, ecx
jne 0x49076c
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x20], 0
cmp ecx, 0x2a
jne 0x4907e7
mov eax, dword [edx]
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], eax
test eax, eax
jns 0x4907e0
neg eax
mov byte [esp + 0x25], 1
mov dword [esp + 0x20], eax
movsx ecx, byte [ebx + 1]
inc ebx
jmp 0x490813
cmp ecx, 0x30
jl 0x490826
mov edi, dword [esp + 0x20]
cmp ecx, 0x39
ja 0x490807
lea edi, [edi + edi*4]
inc ebx
lea edi, [edi - 0x18]
lea edi, [ecx + edi*2]
movsx ecx, byte [ebx]
cmp ecx, 0x30
jge 0x4907f0
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], ebx
cmp eax, 0x154
jle 0x490826
mov dword [esp + 0x20], 0x154
mov eax, esi
cmp ecx, 0x2e
jne 0x4908ca
movsx ecx, byte [ebx + 1]
inc ebx
xor edx, edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x34], edx
cmp ecx, 0x2a
jne 0x490867
mov edx, dword [eax]
add esi, 4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], edx
test edx, edx
jns 0x49085c
neg edx
mov dword [esp + 0x34], edx
movsx ecx, byte [ebx + 1]
inc ebx
mov dword [esp + 0x4c], ebx
jmp 0x4908d1
cmp ecx, 0x30
jl 0x4908d1
cmp ecx, 0x39
ja 0x4908d1
inc ebx
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
mov dword [esp + 0x4c], ebx
lea edx, [ecx + edx*2]
mov dword [esp + 0x34], edx
movsx ecx, byte [ebx]
cmp ecx, 0x30
jge 0x49086c
mov dword [esp + 0x14], esi
mov byte [esp + 0x26], 0
mov byte [esp + 0x27], 0
mov dword [esp + 0x50], 0x521968
xor ebx, ebx
mov byte [esp + 0x13], 0
mov esi, 0x521968
movsx eax, byte [esi]
cmp ecx, eax
je 0x490911
add esi, 6
inc ebx
cmp esi, 0x5219f2
jl 0x4908ad
mov cl, byte [esp + 0x13]
mov ebx, dword [esp + 0x50]
jmp 0x490937
or edx, 0xffffffff
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], esi
mov eax, ebx
cmp ecx, 0x6c
jne 0x49088f
inc ebx
mov byte [esp + 0x27], 1
mov dword [esp + 0x4c], ebx
mov bl, byte [ebx]
cmp bl, cl
jne 0x490902
add eax, 2
cmp bl, 0x6c
mov dword [esp + 0x4c], eax
sete byte [esp + 0x26]
mov al, byte [eax]
movsx ecx, al
jmp 0x490899
cmp bl, 0x6c
mov al, bl
movsx ecx, al
sete byte [esp + 0x26]
jmp 0x490899
cmp dword [esp + 0x6c], 0
lea eax, [ebx + ebx*2]
lea ebx, [eax*2 + 0x521968]
mov dword [esp + 0x50], ebx
jne 0x490930
test byte [ebx + 2], 2
jne case.default.0x490967
mov cl, byte [ebx + 3]
mov byte [esp + 0x13], cl
mov byte [esp + 0x57], cl
mov dword [esp + 0x58], 0
cmp edx, 0x136
jle 0x49095a
test byte [ebx + 2], 4
jne 0x49095a
mov edx, 0x136
mov dword [esp + 0x34], edx
movzx eax, cl
dec eax
cmp eax, 0xf
ja case.default.0x490967
jmp dword [eax*4 + 0x491620]
xor al, al
mov cl, 1
jmp 0x49097c
mov al, byte [esp + 0x26]
mov cl, byte [esp + 0x27]
test byte [ebx + 2], 1
fstp st(5)
fstp st(3)
fstp st(1)
fstp st(2)
fstp st(1)
fstp st(0)
je 0x4909f5
test al, al
je 0x4909a2
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 8
mov ebx, dword [eax]
mov esi, dword [eax + 4]
jmp 0x4909c0
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x4909b5
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
cdq
mov esi, edx
mov ebx, eax
test esi, esi
jg 0x4909d5
jl 0x4909ca
test ebx, ebx
jae 0x4909d5
neg ebx
mov cl, 0x2d
adc esi, 0
neg esi
jmp 0x490a24
cmp byte [esp + 0x3a], 0
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], esi
je 0x4909e8
mov cl, 0x2b
jmp 0x490a2c
mov cl, byte [esp + 0x12]
neg cl
sbb cl, cl
and cl, 0x20
jmp 0x490a2c
test al, al
je 0x490a07
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 8
mov esi, dword [eax + 4]
jmp 0x490a20
mov eax, dword [esp + 0x1c]
xor esi, esi
add eax, 4
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x490a1c
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
xor cl, cl
mov dword [esp + 0x14], esi
mov dword [esp + 0x28], ebx
mov eax, ebx
mov byte [esp + 0x12], cl
or eax, esi
jne 0x490a3a
mov byte [esp + 0x24], al
cmp byte [esp + 0x1b], 0
je 0x490a58
xor eax, eax
test cl, cl
mov ecx, dword [esp + 0x20]
setne al
sub ecx, eax
cmp dword [esp + 0x34], ecx
jge 0x490a58
mov dword [esp + 0x34], ecx
cmp byte [esp + 0x13], 0x10
lea edi, [esp + 0x21d]
jne 0x490b13
mov eax, ebx
mov ecx, 0xcccccccd
mul ecx
lea edi, [ecx - 1]
mov dword [esp + 0x40], eax
mov esi, edx
mov eax, ebx
mul edi
mov edi, eax
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x14]
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x14]
mov edx, 0xcccccccc
mul edx
add ecx, esi
mov dword [esp + 0x40], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x60]
adc ecx, 0
xor eax, eax
add ebx, ecx
mov ecx, dword [esp + 0x40]
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x28]
mov esi, ebx
adc edx, eax
shrd ecx, edx, 3
shr edx, 3
lea eax, [ecx + ecx*4]
add eax, eax
sub esi, eax
cmp esi, 4
jge 0x490ae8
push 0
push 0xa
push edx
push ecx
call fcn.004dfbd0
cmp eax, 1
jne 0x490aea
test edx, edx
jne 0x490aea
xor esi, esi
movzx eax, byte [esi*2 + str.thstndrd]
lea edi, [esp + 0x21b]
mov byte [esp + 0x21b], al
movzx eax, byte [esi*2 + 0x521ec5]
mov esi, dword [esp + 0x14]
mov byte [esp + 0x21c], al
mov ecx, dword [esp + 0x50]
movzx eax, byte [ecx + 4]
add eax, str.0123456789ABCDEF0123456789abcdef
mov dword [esp + 0x40], eax
movzx eax, byte [ecx + 1]
cdq
mov ecx, eax
mov eax, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], eax
push eax
push ecx
push esi
push ebx
dec edi
call fcn.004dfbd0
push dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
push dword [esp + 0x2c]
push esi
mov al, byte [eax + ecx]
push ebx
mov byte [edi], al
call fcn.004dfb60
mov ecx, dword [esp + 0x28]
mov esi, edx
mov ebx, eax
mov eax, dword [esp + 0x14]
test esi, esi
ja 0x490b35
jb 0x490b6d
test ebx, ebx
jne 0x490b35
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0xc0]
sub eax, ecx
mov dword [esp + 0x28], edi
add eax, 0xfffffea3
add eax, edi
test eax, eax
jle 0x490b9d
lea esp, [esp]
dec edi
dec eax
mov byte [edi], 0x30
test eax, eax
jg 0x490b90
mov dword [esp + 0x28], edi
mov al, byte [esp + 0x12]
test al, al
je 0x490bac
dec edi
mov dword [esp + 0x28], edi
mov byte [edi], al
cmp byte [esp + 0x24], 0
je 0x490be0
mov eax, dword [esp + 0x50]
mov al, byte [eax + 5]
test al, al
je 0x490be0
movzx eax, al
add eax, 0x51f4b0
mov cl, byte [eax]
test cl, cl
je 0x490be0
lea esp, [esp]
dec edi
lea eax, [eax + 1]
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x490bd0
mov dword [esp + 0x28], edi
lea esi, [esp + 0x21d]
sub esi, edi
jmp 0x490e3e
mov eax, dword [esp + 0x14]
add dword [esp + 0x1c], 8
fld qword [eax]
fst qword [esp + 0x40]
test edx, edx
jns 0x490c08
mov edx, 6
jmp 0x490c15
cmp edx, 0xa5
jle 0x490c19
mov edx, 0xa5
mov dword [esp + 0x34], edx
fcom st(6)
fnstsw ax
fstp st(6)
test ah, 5
jp 0x490c33
fxch st(5)
mov byte [esp + 0x12], 0x2d
fchs
fst qword [esp + 0x40]
jmp 0x490c51
cmp byte [esp + 0x3a], 0
je 0x490c41
mov byte [esp + 0x12], 0x2b
jmp 0x490c4f
mov al, byte [esp + 0x12]
neg al
sbb al, al
and al, 0x20
mov byte [esp + 0x12], al
fxch st(5)
cmp cl, 4
jne 0x490c5f
test edx, edx
jle 0x490c5f
dec edx
mov dword [esp + 0x34], edx
mov ecx, edx
cmp edx, 8
jl 0x490c8f
lea esi, [edx - 8]
shr esi, 3
inc esi
lea eax, [esi*8]
sub ecx, eax
fxch st(4)
fmul st(3)
fmul st(3)
fmul st(3)
fmul st(3)
fmul st(3)
fmul st(3)
fmul st(3)
fmul st(3)
fxch st(4)
sub esi, 1
jne 0x490c76
test ecx, ecx
jle 0x490c9e
fxch st(4)
dec ecx
fmul st(3)
fxch st(4)
test ecx, ecx
jg 0x490c93
mov cl, byte [esp + 0x13]
cmp cl, 2
jne 0x490cad
fadd st(4)
fst qword [esp + 0x40]
fst qword [esp + 0x60]
fld qword [esp + 0x60]
xor ebx, ebx
fstp qword [esp + 0x28]
fld qword [esp + 0x60]
fld qword [esp + 0x28]
fucompp
mov dword [esp + 0x14], ebx
fnstsw ax
test ah, 0x44
jnp 0x490ced
fstp st(0)
lea esi, [ebx + 3]
fstp st(3)
mov edi, 0x5248c0
fstp st(1)
mov dword [esp + 0x28], edi
fstp st(2)
fstp st(1)
fstp st(0)
jmp 0x490e3e
fld qword [esp + 0x78]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x490eb6
fld qword [esp + 0xa0]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x490d4d
fld qword [esp + 0xa8]
jmp 0x490d19
fxch st(2)
cmp ebx, 0x15e
jg 0x490d3f
fmul st(2), st(0)
add ebx, 0x20
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 1
je 0x490d17
fstp st(1)
mov dword [esp + 0x14], ebx
fstp st(1)
fst qword [esp + 0x40]
jmp 0x490d4f
fstp st(1)
mov dword [esp + 0x14], ebx
fstp st(0)
fst qword [esp + 0x40]
jmp 0x490d4f
fstp st(0)
fcom st(2)
fnstsw ax
test ah, 1
jne 0x490d76
cmp ebx, 0x15e
jg 0x490d6e
fmul st(1)
add ebx, 8
fcom st(2)
fnstsw ax
test ah, 1
je 0x490d58
fst qword [esp + 0x40]
mov dword [esp + 0x14], ebx
fcom st(5)
fnstsw ax
test ah, 1
jne 0x490d9b
cmp ebx, 0x15e
jg 0x490d93
fmul st(3)
inc ebx
fcom st(5)
fnstsw ax
test ah, 1
je 0x490d7f
fst qword [esp + 0x40]
mov dword [esp + 0x14], ebx
fcom st(1)
fnstsw ax
test ah, 5
jp 0x490dc0
fmul st(2)
sub ebx, 8
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x490da4
fstp st(2)
mov dword [esp + 0x14], ebx
fstp st(0)
fst qword [esp + 0x40]
jmp 0x490dc4
fstp st(2)
fstp st(0)
fld qword [esp + 0xb0]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x490dfb
fstp st(0)
cmp ebx, 0x15e
jle 0x490eba
mov al, byte [esp + 0x12]
fstp st(0)
fstp st(1)
fstp st(0)
fstp st(0)
cmp al, 0x2d
jne 0x490e15
mov edi, str._Inf
jmp 0x490e23
fxch st(1)
fxch st(1)
dec ebx
fmul st(4)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x490df9
fstp st(1)
mov dword [esp + 0x14], ebx
fst qword [esp + 0x40]
jmp 0x490dd6
mov edi, str.Inf
cmp al, 0x2b
je 0x490e23
mov edi, 0x5248d4
mov dword [esp + 0x28], edi
mov esi, edi
lea esp, [esp]
inc esi
cmp byte [esi], 0
jne 0x490e30
sub esi, edi
and esi, 0x3fffffff
mov ebx, dword [esp + 0x20]
cmp byte [esp + 0x25], 0
jne 0x491495
mov ecx, ebx
sub ecx, esi
test ecx, ecx
jle 0x491495
cmp ecx, 0x1d
jl 0x490e9d
mov edi, dword [esp + 0x3c]
mov eax, 0x8d3dcb09
mul ecx
mov ebx, edx
shr ebx, 4
imul eax, ebx, 0x1d
sub ecx, eax
mov dword [esp + 0x40], ecx
push 0x1d
mov edx, 0x522024
mov ecx, edi
call fcn.00491660
add esp, 4
sub ebx, 1
jne 0x490e77
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x28]
test ecx, ecx
jle 0x491495
mov ebx, dword [esp + 0x3c]
mov edx, 0x522024
push ecx
mov ecx, ebx
call fcn.00491660
add esp, 4
jmp 0x491499
fstp st(2)
fstp st(0)
lea esi, [esp + 0xc0]
cmp cl, 2
je 0x490f15
faddp st(2)
fxch st(1)
fst qword [esp + 0x40]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x490ee4
fmulp st(1)
inc ebx
mov dword [esp + 0x14], ebx
fst qword [esp + 0x40]
jmp 0x490ee6
fstp st(1)
cmp cl, 4
jne 0x490f19
mov ch, byte [esp + 0x24]
test ch, ch
sete byte [esp + 0x27]
cmp ebx, 0xfffffffc
jl 0x490f0d
cmp ebx, edx
jg 0x490f0d
sub edx, ebx
mov cl, 2
mov dword [esp + 0x34], edx
mov byte [esp + 0x13], cl
jmp 0x490f22
mov cl, 3
mov byte [esp + 0x13], cl
jmp 0x490f22
fstp st(2)
fstp st(0)
mov ch, byte [esp + 0x24]
mov byte [esp + 0x27], 0
xor eax, eax
cmp cl, 3
sete al
xor edi, edi
dec eax
and eax, ebx
test edx, edx
mov dword [esp + 0x28], eax
setg cl
or cl, byte [esp + 0x3b]
or cl, ch
mov ch, byte [esp + 0x12]
mov byte [esp + 0x26], cl
test ch, ch
je 0x490f58
mov byte [esp + 0xc0], ch
lea esi, [esp + 0xc1]
test eax, eax
jns 0x490f66
fstp st(0)
mov byte [esi], 0x30
fstp st(0)
inc esi
jmp 0x490fb3
mov ebx, dword [esp + 0x28]
mov eax, edi
inc edi
cmp eax, 0x10
jl 0x490f76
mov al, 0x30
jmp 0x490f91
fld st(0)
call fcn.00504bc0
mov dword [esp + 0x40], eax
add al, 0x30
fild dword [esp + 0x40]
fstp qword [esp + 0x40]
fsub qword [esp + 0x40]
fmul st(1)
mov byte [esi], al
inc esi
sub ebx, 1
jns 0x490f6a
mov edx, dword [esp + 0x34]
fstp st(1)
mov cl, byte [esp + 0x26]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x28]
fstp qword [esp + 0x40]
test cl, cl
je 0x490fbb
mov byte [esi], 0x2e
inc esi
add eax, 1
jns 0x490fde
neg eax
push eax
push 0x30
push esi
mov dword [esp + 0x34], eax
call fcn.004e14f0
mov edx, dword [esp + 0x40]
add esp, 0xc
add esi, dword [esp + 0x28]
sub edx, dword [esp + 0x28]
test edx, edx
jle 0x491027
fld qword [esp + 0x40]
fld qword [esp + 0x70]
mov eax, edi
dec edx
inc edi
mov dword [esp + 0x34], edx
cmp eax, 0x10
jl 0x490ffb
mov al, 0x30
jmp 0x49101c
fld st(1)
call fcn.00504bc0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
add al, 0x30
fild dword [esp + 0x40]
fstp qword [esp + 0x40]
fld qword [esp + 0x40]
fsubp st(2)
fmul st(1), st(0)
mov byte [esi], al
inc esi
test edx, edx
jg 0x490fea
fstp st(1)
fstp st(0)
cmp byte [esp + 0x27], 0
je 0x491061
cmp byte [esp + 0x26], 0
je 0x491061
cmp byte [esi - 1], 0x30
jne 0x49104a
jmp 0x491040
dec esi
mov byte [esi], 0
cmp byte [esi - 1], 0x30
je 0x491040
cmp byte [esi - 1], 0x2e
jne 0x491061
cmp byte [esp + 0x3b], 0
je 0x49105d
mov byte [esi], 0x30
inc esi
jmp 0x491061
dec esi
mov byte [esi], 0
cmp byte [esp + 0x57], 3
je 0x49106f
cmp byte [esp + 0x13], 3
jne 0x4910e6
mov eax, dword [esp + 0x50]
lea ecx, [esi + 1]
movzx eax, byte [eax + 4]
mov al, byte [eax + str.0123456789ABCDEF0123456789abcdef]
mov byte [esi], al
add esi, 2
mov eax, ebx
test ebx, ebx
jns 0x49108d
neg ebx
test eax, eax
sets al
lea eax, [eax*2 + 0x2b]
mov byte [ecx], al
cmp ebx, 0x64
jl 0x4910bc
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + 0x30]
mov byte [esi], al
inc esi
imul eax, ecx, 0xffffff9c
add ebx, eax
mov eax, 0x66666667
imul ebx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + 0x30]
mov byte [esi], al
mov al, cl
shl cl, 2
add al, cl
add al, al
sub bl, al
add bl, 0x30
mov byte [esi + 1], bl
add esi, 2
lea eax, [esp + 0xc0]
mov byte [esi], 0
sub esi, eax
mov edi, eax
cmp byte [esp + 0x1b], 0
mov dword [esp + 0x28], edi
je 0x490e3e
cmp byte [esp + 0x25], 0
jne 0x491495
mov ebx, dword [esp + 0x20]
cmp esi, ebx
jge 0x490e4d
mov edx, ebx
mov ecx, ebx
sub edx, esi
cmp ebx, edx
jl 0x49113f
mov esi, eax
sub esi, edx
jmp 0x491130
mov al, byte [esi + ecx]
mov byte [esp + ecx + 0xc0], al
dec ecx
cmp ecx, edx
jge 0x491130
xor eax, eax
cmp byte [esp + 0x12], al
setne al
test edx, edx
je 0x491161
push edx
lea ecx, [esp + 0xc4]
add eax, ecx
push 0x30
push eax
call fcn.004e14f0
add esp, 0xc
mov esi, ebx
jmp 0x490e4d
mov eax, dword [esp + 0x14]
fstp st(5)
add dword [esp + 0x1c], 4
fstp st(3)
fstp st(1)
xor ebx, ebx
fstp st(2)
mov dword [esp + 0x20], ebx
mov ecx, dword [eax]
fstp st(1)
mov eax, dword [esp + 0x3c]
fstp st(0)
xor esi, esi
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
jmp 0x490e42
fstp st(5)
mov byte [esp + 0xc0], 0x25
fstp st(3)
lea edi, [esp + 0xc0]
fstp st(1)
mov dword [esp + 0x28], edi
fstp st(2)
mov esi, 1
fstp st(1)
fstp st(0)
jmp 0x490e3e
mov eax, dword [esp + 0x14]
fstp st(5)
add dword [esp + 0x1c], 4
fstp st(3)
fstp st(1)
fstp st(2)
mov cl, byte [eax]
fstp st(1)
mov byte [esp + 0xc0], cl
fstp st(0)
test edx, edx
js 0x49120e
mov eax, 1
cmp edx, eax
jle 0x4911fc
lea esp, [esp]
mov byte [esp + eax + 0xc0], cl
inc eax
cmp eax, edx
jl 0x4911f0
lea edi, [esp + 0xc0]
mov esi, edx
mov dword [esp + 0x28], edi
jmp 0x490e3e
lea edi, [esp + 0xc0]
mov esi, 1
mov dword [esp + 0x28], edi
jmp 0x490e3e
mov eax, dword [esp + 0x14]
fstp st(5)
add dword [esp + 0x1c], 4
fstp st(3)
fstp st(1)
fstp st(2)
mov edi, dword [eax]
fstp st(1)
mov dword [esp + 0x28], edi
fstp st(0)
test edi, edi
jne 0x49124d
mov edi, 0x5222e8
mov dword [esp + 0x28], edi
jmp 0x491256
cmp cl, 7
jne 0x491256
mov dword [esp + 0x58], edi
test edx, edx
js 0x491278
xor esi, esi
test edx, edx
jle 0x490e3e
cmp byte [edi + esi], 0
je 0x490e3e
inc esi
cmp esi, edx
jl 0x491264
jmp 0x490e3e
mov esi, edi
test edi, edi
je 0x490e3e
cmp byte [edi], 0
je 0x490e36
jmp 0x491290
inc esi
cmp byte [esi], 0
jne 0x491290
jmp 0x490e36
mov eax, dword [esp + 0x14]
fstp st(5)
cmp cl, 0xf
fstp st(3)
fstp st(1)
setne dl
fstp st(2)
mov edi, dword [eax]
dec dl
add dword [esp + 0x1c], 4
and dl, 0xfb
add dl, 0x27
fstp st(1)
mov byte [esp + 0x1b], dl
fstp st(0)
mov ebx, edi
test edi, edi
jne 0x4912d9
mov ebx, str.NULL
cmp cl, 0xb
je 0x4912d9
mov ebx, str._NULL_
mov al, byte [ebx]
xor esi, esi
xor ecx, ecx
test al, al
je 0x4912f1
cmp al, dl
jne 0x4912e8
inc esi
mov al, byte [ecx + ebx + 1]
inc ecx
test al, al
jne 0x4912e3
test edi, edi
je 0x491303
cmp byte [esp + 0x13], 0xb
jne 0x491303
mov eax, 1
jmp 0x491305
xor eax, eax
mov dword [esp + 0x50], eax
inc esi
lea eax, [ecx + eax*2]
add esi, eax
cmp esi, 0x15e
jle 0x4913a0
cmp esi, 0x7fffff00
jge 0x491377
cmp dword [0x534f18], 0
je 0x491363
mov eax, dword [0x537790]
test eax, eax
je 0x49133f
push eax
call dword [0x534f60]
add esp, 4
lea edx, [esp + 0x5c]
mov ecx, esi
call fcn.0048ffe0
mov eax, dword [0x537790]
test eax, eax
je 0x49135d
push eax
call dword [0x534f68]
add esp, 4
mov dl, byte [esp + 0x1b]
jmp 0x49137f
push esi
call dword [0x534f30]
mov dl, byte [esp + 0x1f]
add esp, 4
mov dword [esp + 0x5c], eax
jmp 0x49137f
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x5c]
mov edi, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x28], eax
test edi, edi
jne 0x4913ab
mov eax, dword [esp + 0x3c]
mov byte [eax + 0x18], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edi, [esp + 0xc0]
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x50]
xor esi, esi
test ecx, ecx
je 0x4913bc
mov byte [edi], dl
mov esi, 1
mov al, byte [ebx]
test al, al
je 0x4913d6
mov byte [esi + edi], al
inc esi
cmp al, dl
jne 0x4913ce
mov byte [esi + edi], al
inc esi
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x4913c2
test ecx, ecx
je 0x4913de
mov byte [esi + edi], dl
inc esi
mov byte [esi + edi], 0
jmp 0x490e3e
mov eax, dword [esp + 0x14]
fstp st(5)
add dword [esp + 0x1c], 4
fstp st(3)
fstp st(1)
fstp st(2)
mov edx, dword [eax]
fstp st(1)
fstp st(0)
test edx, edx
je 0x491413
push dword [edx + 4]
mov edx, dword [edx]
mov ecx, dword [esp + 0x40]
call fcn.00491660
add esp, 4
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x20], ebx
jmp 0x490e42
mov ebx, dword [esp + 0x1c]
fstp st(5)
fstp st(3)
fstp st(1)
fstp st(2)
lea eax, [ebx + 8]
fstp st(1)
mov ebx, dword [ebx]
fstp st(0)
mov dword [esp + 0x40], eax
mov eax, dword [eax - 4]
lea esi, [eax*8]
sub esi, eax
mov edx, dword [ebx + esi*8 + 8]
test edx, edx
je 0x49146e
mov ecx, dword [esp + 0x3c]
push 0xffffffffffffffff
call fcn.00491660
mov ecx, dword [esp + 0x40]
add esp, 4
mov edx, 0x522498
push 1
call fcn.00491660
add esp, 4
mov edx, dword [ebx + esi*8 + 0xc]
mov ecx, dword [esp + 0x3c]
push 0xffffffffffffffff
call fcn.00491660
mov eax, dword [esp + 0x44]
xor ebx, ebx
add esp, 4
mov dword [esp + 0x20], ebx
xor esi, esi
mov dword [esp + 0x1c], eax
jmp 0x490e42
mov ebx, dword [esp + 0x3c]
test esi, esi
jle 0x4914aa
push esi
mov edx, edi
mov ecx, ebx
call fcn.00491660
add esp, 4
cmp byte [esp + 0x25], 0
je 0x491505
mov ebx, dword [esp + 0x20]
sub ebx, esi
test ebx, ebx
jle 0x491505
cmp ebx, 0x1d
jl 0x4914f3
mov edi, dword [esp + 0x3c]
mov eax, 0x8d3dcb09
mul ebx
mov esi, edx
shr esi, 4
imul eax, esi, 0x1d
sub ebx, eax
push 0x1d
mov edx, 0x522024
mov ecx, edi
call fcn.00491660
add esp, 4
sub esi, 1
jne 0x4914d5
mov edi, dword [esp + 0x28]
test ebx, ebx
jle 0x491505
mov ecx, dword [esp + 0x3c]
mov edx, 0x522024
push ebx
call fcn.00491660
add esp, 4
mov ebx, dword [esp + 0x58]
test ebx, ebx
je 0x491577
cmp dword [0x534f18], 0
je 0x49156d
mov eax, dword [0x537790]
test eax, eax
je 0x491529
push eax
call dword [0x534f60]
add esp, 4
push ebx
call dword [0x534f3c]
mov ecx, dword [0x537618]
neg eax
add ecx, eax
add esp, 4
mov dword [0x537618], ecx
cmp ecx, dword [0x53763c]
jle 0x491551
mov dword [0x53763c], ecx
push ebx
call dword [0x534f34]
mov eax, dword [0x537790]
add esp, 4
test eax, eax
je 0x491577
push eax
call dword [0x534f68]
jmp 0x491574
push ebx
call dword [0x534f34]
add esp, 4
mov ebx, dword [esp + 0x4c]
inc ebx
movsx eax, byte [ebx]
test eax, eax
je 0x4915e6
fld qword [esp + 0x80]
fld qword [esp + 0x70]
fld qword [esp + 0x88]
fld qword [esp + 0x90]
fld qword [esp + 0x78]
fld qword [esp + 0x98]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
jmp 0x4906ab
mov ecx, dword [esp + 0x3c]
fstp st(5)
fstp st(3)
mov edx, 0x5248bc
fstp st(1)
fstp st(2)
fstp st(1)
push 1
fstp st(0)
call fcn.00491660
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(5)
fstp st(3)
fstp st(1)
fstp st(2)
fstp st(1)
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret