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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x204
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor edi, edi
mov dword [esp + 0x5c], edx
movsx eax, byte [ebx]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], edi
test eax, eax
je 0x492896
fldz
fst qword [esp + 0x68]
fld qword [0x52b108]
fst qword [esp + 0x88]
fld qword [0x52b100]
fst qword [esp + 0x70]
fld qword [0x52b160]
fstp qword [esp + 0x90]
fld qword [0x52b0f0]
fstp qword [esp + 0x98]
fld qword [0x52b138]
fst qword [esp + 0x78]
fld qword [0x52b0f8]
fst qword [esp + 0x80]
fld qword [0x52b110]
fst qword [esp + 0x60]
fld1
fstp qword [esp + 0xa0]
jmp 0x49198e
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 esi, dword [ebp + 0xc]
mov edx, esi
mov dword [esp + 0x48], edx
cmp eax, 0x25
je 0x491a17
movsx esi, byte [ebx + 1]
fstp st(5)
fstp st(3)
mov edi, ebx
inc ebx
mov dword [esp + 0x20], edi
fstp st(1)
mov eax, 1
fstp st(2)
fstp st(1)
fstp st(0)
cmp esi, 0x25
je 0x4919cf
lea ecx, [ecx]
test esi, esi
je 0x4919cf
movsx esi, byte [ebx + 1]
inc ebx
inc eax
cmp esi, 0x25
jne 0x4919c0
push eax
mov edx, edi
call fcn.00492910
add esp, 4
test esi, esi
je 0x492896
fld qword [esp + 0x70]
fld qword [esp + 0x60]
fld qword [esp + 0x78]
fld qword [esp + 0x80]
fld qword [esp + 0x68]
fld qword [esp + 0x88]
fxch st(1)
mov edx, dword [esp + 0x48]
fxch st(5)
mov esi, dword [ebp + 0xc]
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 0x492864
xor al, al
mov byte [esp + 0x17], al
mov byte [esp + 0x33], al
mov byte [esp + 0x1c], al
mov byte [esp + 0xe], al
mov byte [esp + 0x32], al
mov byte [esp + 0x1d], al
lea eax, [ecx - 0x20]
cmp eax, 0x10
ja case.0x491a4d.34
movzx eax, byte [eax + 0x4928bc]
jmp dword [eax*4 + 0x4928a0]
mov byte [esp + 0x1d], 1
jmp 0x491a7c
mov byte [esp + 0x32], 1
jmp 0x491a7c
mov byte [esp + 0xe], 1
jmp 0x491a7c
mov byte [esp + 0x1c], 1
jmp 0x491a7c
mov byte [esp + 0x33], 1
jmp 0x491a7c
mov byte [esp + 0x17], 1
movsx ecx, byte [ebx + 1]
inc ebx
test ecx, ecx
jne 0x491a3e
mov dword [ebp + 8], ebx
mov dword [esp + 0x18], 0
cmp ecx, 0x2a
jne 0x491ab7
mov eax, dword [edx]
add esi, 4
mov dword [ebp + 0xc], esi
mov dword [esp + 0x18], eax
test eax, eax
jns 0x491ab0
neg eax
mov byte [esp + 0x1d], 1
mov dword [esp + 0x18], eax
movsx ecx, byte [ebx + 1]
inc ebx
jmp 0x491ae3
cmp ecx, 0x30
jl 0x491af5
mov edi, dword [esp + 0x18]
cmp ecx, 0x39
ja 0x491ad7
lea edi, [edi + edi*4]
inc ebx
lea edi, [edi - 0x18]
lea edi, [ecx + edi*2]
movsx ecx, byte [ebx]
cmp ecx, 0x30
jge 0x491ac0
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [ebp + 8], ebx
cmp eax, 0x154
jle 0x491af5
mov dword [esp + 0x18], 0x154
mov eax, esi
cmp ecx, 0x2e
jne 0x491b95
movsx ecx, byte [ebx + 1]
inc ebx
xor edx, edx
mov dword [ebp + 8], ebx
mov dword [esp + 0x2c], edx
cmp ecx, 0x2a
jne 0x491b33
mov edx, dword [eax]
add esi, 4
mov dword [ebp + 0xc], esi
mov dword [esp + 0x2c], edx
test edx, edx
jns 0x491b29
neg edx
mov dword [esp + 0x2c], edx
movsx ecx, byte [ebx + 1]
inc ebx
mov dword [ebp + 8], ebx
jmp 0x491b9c
cmp ecx, 0x30
jl 0x491b9c
cmp ecx, 0x39
ja 0x491b9c
inc ebx
lea edx, [edx + edx*4]
lea edx, [edx - 0x18]
mov dword [ebp + 8], ebx
lea edx, [ecx + edx*2]
mov dword [esp + 0x2c], edx
movsx ecx, byte [ebx]
cmp ecx, 0x30
jge 0x491b38
mov dword [esp + 0x10], esi
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0
mov dword [esp + 0x40], 0x527998
xor ebx, ebx
mov byte [esp + 0xf], 0
mov esi, 0x527998
movsx eax, byte [esi]
cmp ecx, eax
je 0x491bda
add esi, 6
inc ebx
cmp esi, 0x527a22
jl 0x491b78
mov cl, byte [esp + 0xf]
mov ebx, dword [esp + 0x40]
jmp 0x491c00
or edx, 0xffffffff
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], esi
mov eax, ebx
cmp ecx, 0x6c
jne 0x491b5a
inc ebx
mov byte [esp + 0x1f], 1
mov dword [ebp + 8], ebx
mov bl, byte [ebx]
cmp bl, cl
jne 0x491bcb
add eax, 2
cmp bl, 0x6c
mov dword [ebp + 8], eax
sete byte [esp + 0x1e]
mov al, byte [eax]
movsx ecx, al
jmp 0x491b64
cmp bl, 0x6c
mov al, bl
movsx ecx, al
sete byte [esp + 0x1e]
jmp 0x491b64
cmp dword [esp + 0x5c], 0
lea eax, [ebx + ebx*2]
lea ebx, [eax*2 + 0x527998]
mov dword [esp + 0x40], ebx
jne 0x491bf9
test byte [ebx + 2], 2
jne case.default.0x491c30
mov cl, byte [ebx + 3]
mov byte [esp + 0xf], cl
mov byte [esp + 0x47], cl
mov dword [esp + 0x48], 0
cmp edx, 0x136
jle 0x491c23
test byte [ebx + 2], 4
jne 0x491c23
mov edx, 0x136
mov dword [esp + 0x2c], edx
movzx eax, cl
dec eax
cmp eax, 0xf
ja case.default.0x491c30
jmp dword [eax*4 + 0x4928d0]
xor al, al
mov cl, 1
jmp 0x491c45
mov al, byte [esp + 0x1e]
mov cl, byte [esp + 0x1f]
test byte [ebx + 2], 1
fstp st(5)
fstp st(3)
fstp st(1)
fstp st(2)
fstp st(1)
fstp st(0)
je 0x491cba
test al, al
je 0x491c6a
mov eax, dword [esp + 0x10]
add dword [ebp + 0xc], 8
mov ebx, dword [eax]
mov esi, dword [eax + 4]
jmp 0x491c85
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
test cl, cl
jne 0x491c7a
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cdq
mov esi, edx
mov ebx, eax
test esi, esi
jg 0x491c9a
jl 0x491c8f
test ebx, ebx
jae 0x491c9a
neg ebx
mov cl, 0x2d
adc esi, 0
neg esi
jmp 0x491ce5
cmp byte [esp + 0x32], 0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x10], esi
je 0x491cad
mov cl, 0x2b
jmp 0x491ced
mov cl, byte [esp + 0xe]
neg cl
sbb cl, cl
and cl, 0x20
jmp 0x491ced
test al, al
je 0x491ccb
mov eax, dword [esp + 0x10]
add dword [ebp + 0xc], 8
mov esi, dword [eax + 4]
jmp 0x491ce1
mov eax, dword [ebp + 0xc]
xor esi, esi
add eax, 4
mov dword [ebp + 0xc], eax
test cl, cl
jne 0x491cdd
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [eax]
xor cl, cl
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], ebx
mov eax, ebx
mov byte [esp + 0xe], cl
or eax, esi
jne 0x491cfb
mov byte [esp + 0x1c], al
cmp byte [esp + 0x17], 0
je 0x491d19
xor eax, eax
test cl, cl
mov ecx, dword [esp + 0x18]
setne al
sub ecx, eax
cmp dword [esp + 0x2c], ecx
jge 0x491d19
mov dword [esp + 0x2c], ecx
cmp byte [esp + 0xf], 0x10
lea edi, [esp + 0x20d]
jne 0x491dd4
mov eax, ebx
mov ecx, 0xcccccccd
mul ecx
lea edi, [ecx - 1]
mov dword [esp + 0x38], eax
mov esi, edx
mov eax, ebx
mul edi
mov edi, eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x10]
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x10]
mov edx, 0xcccccccc
mul edx
add ecx, esi
mov dword [esp + 0x38], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x50]
adc ecx, 0
xor eax, eax
add ebx, ecx
mov ecx, dword [esp + 0x38]
adc eax, eax
add ecx, ebx
mov ebx, dword [esp + 0x20]
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 0x491da9
push 0
push 0xa
push edx
push ecx
call fcn.004e01b0
cmp eax, 1
jne 0x491dab
test edx, edx
jne 0x491dab
xor esi, esi
movzx eax, byte [esi*2 + str.thstndrd]
lea edi, [esp + 0x20b]
mov byte [esp + 0x20b], al
movzx eax, byte [esi*2 + 0x528015]
mov esi, dword [esp + 0x10]
mov byte [esp + 0x20c], al
mov ecx, dword [esp + 0x40]
movzx eax, byte [ecx + 4]
add eax, str.0123456789ABCDEF0123456789abcdef
mov dword [esp + 0x38], eax
movzx eax, byte [ecx + 1]
cdq
mov ecx, eax
mov eax, edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
push eax
push ecx
push esi
push ebx
dec edi
call fcn.004e01b0
push dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
push dword [esp + 0x24]
push esi
mov al, byte [eax + ecx]
push ebx
mov byte [edi], al
call fcn.004e0140
mov ecx, dword [esp + 0x20]
mov esi, edx
mov ebx, eax
mov eax, dword [esp + 0x10]
test esi, esi
ja 0x491df6
jb 0x491e2e
test ebx, ebx
jne 0x491df6
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0xb0]
sub eax, ecx
mov dword [esp + 0x20], edi
add eax, 0xfffffea3
add eax, edi
test eax, eax
jle 0x491e5d
lea ebx, [ebx]
dec edi
dec eax
mov byte [edi], 0x30
test eax, eax
jg 0x491e50
mov dword [esp + 0x20], edi
mov al, byte [esp + 0xe]
test al, al
je 0x491e6c
dec edi
mov dword [esp + 0x20], edi
mov byte [edi], al
cmp byte [esp + 0x1c], 0
je 0x491ea0
mov eax, dword [esp + 0x40]
mov al, byte [eax + 5]
test al, al
je 0x491ea0
movzx eax, al
add eax, 0x5254c8
mov cl, byte [eax]
test cl, cl
je 0x491ea0
lea esp, [esp]
dec edi
lea eax, [eax + 1]
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x491e90
mov dword [esp + 0x20], edi
lea esi, [esp + 0x20d]
sub esi, edi
jmp 0x4920f6
mov eax, dword [esp + 0x10]
add dword [ebp + 0xc], 8
fld qword [eax]
fst qword [esp + 0x38]
test edx, edx
jns 0x491ec7
mov edx, 6
jmp 0x491ed4
cmp edx, 0xa5
jle 0x491ed8
mov edx, 0xa5
mov dword [esp + 0x2c], edx
fcom st(6)
fnstsw ax
fstp st(6)
test ah, 5
jp 0x491ef2
fxch st(5)
mov byte [esp + 0xe], 0x2d
fchs
fst qword [esp + 0x38]
jmp 0x491f10
cmp byte [esp + 0x32], 0
je 0x491f00
mov byte [esp + 0xe], 0x2b
jmp 0x491f0e
mov al, byte [esp + 0xe]
neg al
sbb al, al
and al, 0x20
mov byte [esp + 0xe], al
fxch st(5)
cmp cl, 4
jne 0x491f1e
test edx, edx
jle 0x491f1e
dec edx
mov dword [esp + 0x2c], edx
mov ecx, edx
cmp edx, 8
jl 0x491f4e
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 0x491f35
test ecx, ecx
jle 0x491f5d
fxch st(4)
dec ecx
fmul st(3)
fxch st(4)
test ecx, ecx
jg 0x491f52
mov cl, byte [esp + 0xf]
cmp cl, 2
jne 0x491f6c
fadd st(4)
fst qword [esp + 0x38]
fst qword [esp + 0x50]
fld qword [esp + 0x50]
xor ebx, ebx
fstp qword [esp + 0x20]
fld qword [esp + 0x50]
fld qword [esp + 0x20]
fucompp
mov dword [esp + 0x10], ebx
fnstsw ax
test ah, 0x44
jnp 0x491fac
fstp st(0)
lea esi, [ebx + 3]
fstp st(3)
mov edi, 0x528fe8
fstp st(1)
mov dword [esp + 0x20], edi
fstp st(2)
fstp st(1)
fstp st(0)
jmp 0x4920f6
fld qword [esp + 0x68]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x49216f
fld qword [esp + 0x90]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x49200c
fld qword [esp + 0x98]
jmp 0x491fd8
fxch st(2)
cmp ebx, 0x15e
jg 0x491ffe
fmul st(2), st(0)
add ebx, 0x20
fxch st(2)
fcom st(1)
fnstsw ax
test ah, 1
je 0x491fd6
fstp st(1)
mov dword [esp + 0x10], ebx
fstp st(1)
fst qword [esp + 0x38]
jmp 0x49200e
fstp st(1)
mov dword [esp + 0x10], ebx
fstp st(0)
fst qword [esp + 0x38]
jmp 0x49200e
fstp st(0)
fcom st(2)
fnstsw ax
test ah, 1
jne 0x492035
cmp ebx, 0x15e
jg 0x49202d
fmul st(1)
add ebx, 8
fcom st(2)
fnstsw ax
test ah, 1
je 0x492017
fst qword [esp + 0x38]
mov dword [esp + 0x10], ebx
fcom st(5)
fnstsw ax
test ah, 1
jne 0x49205a
cmp ebx, 0x15e
jg 0x492052
fmul st(3)
inc ebx
fcom st(5)
fnstsw ax
test ah, 1
je 0x49203e
fst qword [esp + 0x38]
mov dword [esp + 0x10], ebx
fcom st(1)
fnstsw ax
test ah, 5
jp 0x49207f
fmul st(2)
sub ebx, 8
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x492063
fstp st(2)
mov dword [esp + 0x10], ebx
fstp st(0)
fst qword [esp + 0x38]
jmp 0x492083
fstp st(2)
fstp st(0)
fld qword [esp + 0xa0]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x4920ba
fstp st(0)
cmp ebx, 0x15e
jle 0x492173
mov al, byte [esp + 0xe]
fstp st(0)
fstp st(1)
fstp st(0)
fstp st(0)
cmp al, 0x2d
jne 0x4920d4
mov edi, str._Inf
jmp 0x4920e2
fxch st(1)
fxch st(1)
dec ebx
fmul st(4)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4920b8
fstp st(1)
mov dword [esp + 0x10], ebx
fst qword [esp + 0x38]
jmp 0x492095
mov edi, str.Inf
cmp al, 0x2b
je 0x4920e2
mov edi, 0x528ffc
mov dword [esp + 0x20], edi
mov esi, edi
inc esi
cmp byte [esi], 0
jne 0x4920e8
sub esi, edi
and esi, 0x3fffffff
mov ebx, dword [esp + 0x18]
cmp byte [esp + 0x1d], 0
jne 0x492750
mov ecx, ebx
sub ecx, esi
test ecx, ecx
jle 0x492750
cmp ecx, 0x1d
jl 0x492156
mov edi, dword [esp + 0x34]
mov eax, 0x8d3dcb09
mul ecx
mov ebx, edx
shr ebx, 4
imul eax, ebx, 0x1d
sub ecx, eax
mov dword [esp + 0x38], ecx
nop
push 0x1d
mov edx, 0x528060
mov ecx, edi
call fcn.00492910
add esp, 4
sub ebx, 1
jne 0x492130
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
test ecx, ecx
jle 0x492750
mov ebx, dword [esp + 0x34]
mov edx, 0x528060
push ecx
mov ecx, ebx
call fcn.00492910
add esp, 4
jmp 0x492754
fstp st(2)
fstp st(0)
lea esi, [esp + 0xb0]
cmp cl, 2
je 0x4921ce
faddp st(2)
fxch st(1)
fst qword [esp + 0x38]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x49219d
fmulp st(1)
inc ebx
mov dword [esp + 0x10], ebx
fst qword [esp + 0x38]
jmp 0x49219f
fstp st(1)
cmp cl, 4
jne 0x4921d2
mov ch, byte [esp + 0x1c]
test ch, ch
sete byte [esp + 0x1f]
cmp ebx, 0xfffffffc
jl 0x4921c6
cmp ebx, edx
jg 0x4921c6
sub edx, ebx
mov cl, 2
mov dword [esp + 0x2c], edx
mov byte [esp + 0xf], cl
jmp 0x4921db
mov cl, 3
mov byte [esp + 0xf], cl
jmp 0x4921db
fstp st(2)
fstp st(0)
mov ch, byte [esp + 0x1c]
mov byte [esp + 0x1f], 0
xor eax, eax
cmp cl, 3
sete al
xor edi, edi
dec eax
and eax, ebx
test edx, edx
mov dword [esp + 0x20], eax
setg cl
or cl, byte [esp + 0x33]
or cl, ch
mov ch, byte [esp + 0xe]
mov byte [esp + 0x1e], cl
test ch, ch
je 0x492211
mov byte [esp + 0xb0], ch
lea esi, [esp + 0xb1]
test eax, eax
jns 0x49221f
fstp st(0)
mov byte [esi], 0x30
fstp st(0)
inc esi
jmp 0x49226c
mov ebx, dword [esp + 0x20]
mov eax, edi
inc edi
cmp eax, 0x10
jl 0x49222f
mov al, 0x30
jmp 0x49224a
fld st(0)
call fcn.00504410
mov dword [esp + 0x38], eax
add al, 0x30
fild dword [esp + 0x38]
fstp qword [esp + 0x38]
fsub qword [esp + 0x38]
fmul st(1)
mov byte [esi], al
inc esi
sub ebx, 1
jns 0x492223
mov edx, dword [esp + 0x2c]
fstp st(1)
mov cl, byte [esp + 0x1e]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
fstp qword [esp + 0x38]
test cl, cl
je 0x492274
mov byte [esi], 0x2e
inc esi
add eax, 1
jns 0x492297
neg eax
push eax
push 0x30
push esi
mov dword [esp + 0x2c], eax
call fcn.004e1ab0
mov edx, dword [esp + 0x38]
add esp, 0xc
add esi, dword [esp + 0x20]
sub edx, dword [esp + 0x20]
test edx, edx
jle 0x4922e0
fld qword [esp + 0x38]
fld qword [esp + 0x60]
mov eax, edi
dec edx
inc edi
mov dword [esp + 0x2c], edx
cmp eax, 0x10
jl 0x4922b4
mov al, 0x30
jmp 0x4922d5
fld st(1)
call fcn.00504410
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x38], eax
add al, 0x30
fild dword [esp + 0x38]
fstp qword [esp + 0x38]
fld qword [esp + 0x38]
fsubp st(2)
fmul st(1), st(0)
mov byte [esi], al
inc esi
test edx, edx
jg 0x4922a3
fstp st(1)
fstp st(0)
cmp byte [esp + 0x1f], 0
je 0x492315
cmp byte [esp + 0x1e], 0
je 0x492315
cmp byte [esi - 1], 0x30
jne 0x4922fe
dec esi
mov byte [esi], 0
cmp byte [esi - 1], 0x30
je 0x4922f4
cmp byte [esi - 1], 0x2e
jne 0x492315
cmp byte [esp + 0x33], 0
je 0x492311
mov byte [esi], 0x30
inc esi
jmp 0x492315
dec esi
mov byte [esi], 0
cmp byte [esp + 0x47], 3
je 0x492323
cmp byte [esp + 0xf], 3
jne 0x49239a
mov eax, dword [esp + 0x40]
lea ecx, [esi + 1]
movzx eax, byte [eax + 4]
mov al, byte [eax + str.0123456789ABCDEF0123456789abcdef]
mov byte [esi], al
mov eax, ebx
lea esi, [ecx + 1]
test ebx, ebx
jns 0x492341
neg ebx
test eax, eax
sets al
lea eax, [eax*2 + 0x2b]
mov byte [ecx], al
cmp ebx, 0x64
jl 0x492370
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 + 0xb0]
mov byte [esi], 0
sub esi, eax
mov edi, eax
cmp byte [esp + 0x17], 0
mov dword [esp + 0x20], edi
je 0x4920f6
cmp byte [esp + 0x1d], 0
jne 0x492750
mov ebx, dword [esp + 0x18]
cmp esi, ebx
jge 0x492105
mov edx, ebx
mov ecx, ebx
sub edx, esi
cmp ebx, edx
jl 0x4923ef
mov esi, eax
sub esi, edx
lea esp, [esp]
mov al, byte [esi + ecx]
mov byte [esp + ecx + 0xb0], al
dec ecx
cmp ecx, edx
jge 0x4923e0
xor eax, eax
cmp byte [esp + 0xe], al
setne al
test edx, edx
je 0x492411
push edx
lea ecx, [esp + 0xb4]
add eax, ecx
push 0x30
push eax
call fcn.004e1ab0
add esp, 0xc
mov esi, ebx
jmp 0x492105
mov eax, dword [esp + 0x10]
fstp st(5)
add dword [ebp + 0xc], 4
fstp st(3)
fstp st(1)
xor ebx, ebx
fstp st(2)
mov dword [esp + 0x18], ebx
mov ecx, dword [eax]
fstp st(1)
mov eax, dword [esp + 0x34]
fstp st(0)
xor esi, esi
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
jmp 0x4920fa
fstp st(5)
mov byte [esp + 0xb0], 0x25
fstp st(3)
lea edi, [esp + 0xb0]
fstp st(1)
mov dword [esp + 0x20], edi
fstp st(2)
mov esi, 1
fstp st(1)
fstp st(0)
jmp 0x4920f6
mov eax, dword [esp + 0x10]
fstp st(5)
add dword [ebp + 0xc], 4
fstp st(3)
fstp st(1)
fstp st(2)
mov cl, byte [eax]
fstp st(1)
mov byte [esp + 0xb0], cl
fstp st(0)
test edx, edx
js 0x4924c2
cmp edx, 1
jle 0x4924b0
lea eax, [edx - 1]
push eax
push ecx
lea eax, [esp + 0xb9]
push eax
call fcn.004e1ab0
mov edx, dword [esp + 0x38]
add esp, 0xc
lea esp, [esp]
lea edi, [esp + 0xb0]
mov esi, edx
mov dword [esp + 0x20], edi
jmp 0x4920f6
lea edi, [esp + 0xb0]
mov esi, 1
mov dword [esp + 0x20], edi
jmp 0x4920f6
mov eax, dword [esp + 0x10]
fstp st(5)
add dword [ebp + 0xc], 4
fstp st(3)
fstp st(1)
fstp st(2)
mov edi, dword [eax]
fstp st(1)
mov dword [esp + 0x20], edi
fstp st(0)
test edi, edi
jne 0x492500
mov edi, 0x51f88a
mov dword [esp + 0x20], edi
jmp 0x492509
cmp cl, 7
jne 0x492509
mov dword [esp + 0x48], edi
test edx, edx
js 0x492534
xor esi, esi
test edx, edx
jle 0x4920f6
jmp 0x492520
cmp byte [edi + esi], 0
je 0x4920f6
inc esi
cmp esi, edx
jl 0x492520
jmp 0x4920f6
mov esi, edi
test edi, edi
je 0x4920f6
cmp byte [edi], 0
je 0x4920ee
inc esi
cmp byte [esi], 0
jne 0x492547
jmp 0x4920ee
mov eax, dword [esp + 0x10]
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 [ebp + 0xc], 4
and dl, 0xfb
add dl, 0x27
fstp st(1)
mov byte [esp + 0x17], dl
fstp st(0)
mov ebx, edi
test edi, edi
jne 0x49258f
mov ebx, str.NULL
cmp cl, 0xb
je 0x49258f
mov ebx, str._NULL_
mov al, byte [ebx]
xor esi, esi
xor ecx, ecx
test al, al
je 0x4925ae
lea esp, [esp]
cmp al, dl
jne 0x4925a5
inc esi
mov al, byte [ebx + ecx + 1]
inc ecx
test al, al
jne 0x4925a0
test edi, edi
je 0x4925c0
cmp byte [esp + 0xf], 0xb
jne 0x4925c0
mov eax, 1
jmp 0x4925c2
xor eax, eax
mov dword [esp + 0x40], eax
inc esi
lea eax, [ecx + eax*2]
add esi, eax
cmp esi, 0x15e
jle 0x49265d
cmp esi, 0x7fffff00
jge 0x492634
cmp dword [0x541ec8], 0
je 0x492620
mov eax, dword [0x5447b8]
test eax, eax
je 0x4925fc
push eax
call dword [0x541f10]
add esp, 4
lea edx, [esp + 0x4c]
mov ecx, esi
call fcn.004912c0
mov eax, dword [0x5447b8]
test eax, eax
je 0x49261a
push eax
call dword [0x541f18]
add esp, 4
mov dl, byte [esp + 0x17]
jmp 0x49263c
push esi
call dword [0x541ee0]
mov dl, byte [esp + 0x1b]
add esp, 4
mov dword [esp + 0x4c], eax
jmp 0x49263c
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
mov edi, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], eax
test edi, edi
jne 0x492668
mov eax, dword [esp + 0x34]
mov byte [eax + 0x18], 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edi, [esp + 0xb0]
mov dword [esp + 0x20], edi
mov ecx, dword [esp + 0x40]
xor esi, esi
test ecx, ecx
je 0x492679
mov byte [edi], dl
mov esi, 1
mov al, byte [ebx]
test al, al
je 0x492694
nop
mov byte [esi + edi], al
inc esi
cmp al, dl
jne 0x49268c
mov byte [esi + edi], al
inc esi
mov al, byte [ebx + 1]
inc ebx
test al, al
jne 0x492680
test ecx, ecx
je 0x49269c
mov byte [esi + edi], dl
inc esi
mov byte [esi + edi], 0
jmp 0x4920f6
mov eax, dword [esp + 0x10]
fstp st(5)
add dword [ebp + 0xc], 4
fstp st(3)
fstp st(1)
fstp st(2)
mov edx, dword [eax]
fstp st(1)
fstp st(0)
test edx, edx
je 0x4926d0
push dword [edx + 4]
mov edx, dword [edx]
mov ecx, dword [esp + 0x38]
call fcn.00492910
add esp, 4
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x18], ebx
jmp 0x4920fa
mov ebx, dword [ebp + 0xc]
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 + 0x38], eax
mov eax, dword [eax - 4]
lea esi, [eax*8]
sub esi, eax
mov edx, dword [ebx + esi*8 + 8]
test edx, edx
je 0x49272a
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
call fcn.00492910
mov ecx, dword [esp + 0x38]
add esp, 4
mov edx, 0x51f9a8
push 1
call fcn.00492910
add esp, 4
mov edx, dword [ebx + esi*8 + 0xc]
mov ecx, dword [esp + 0x34]
push 0xffffffffffffffff
call fcn.00492910
mov eax, dword [esp + 0x3c]
xor ebx, ebx
add esp, 4
mov dword [esp + 0x18], ebx
xor esi, esi
mov dword [ebp + 0xc], eax
jmp 0x4920fa
mov ebx, dword [esp + 0x34]
test esi, esi
jle 0x492765
push esi
mov edx, edi
mov ecx, ebx
call fcn.00492910
add esp, 4
cmp byte [esp + 0x1d], 0
je 0x4927c0
mov ebx, dword [esp + 0x18]
sub ebx, esi
test ebx, ebx
jle 0x4927c0
cmp ebx, 0x1d
jl 0x4927ae
mov edi, dword [esp + 0x34]
mov eax, 0x8d3dcb09
mul ebx
mov esi, edx
shr esi, 4
imul eax, esi, 0x1d
sub ebx, eax
push 0x1d
mov edx, 0x528060
mov ecx, edi
call fcn.00492910
add esp, 4
sub esi, 1
jne 0x492790
mov edi, dword [esp + 0x20]
test ebx, ebx
jle 0x4927c0
mov ecx, dword [esp + 0x34]
mov edx, 0x528060
push ebx
call fcn.00492910
add esp, 4
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x492832
cmp dword [0x541ec8], 0
je 0x492828
mov eax, dword [0x5447b8]
test eax, eax
je 0x4927e4
push eax
call dword [0x541f10]
add esp, 4
push ebx
call dword [0x541eec]
mov ecx, dword [0x544640]
neg eax
add ecx, eax
add esp, 4
mov dword [0x544640], ecx
cmp ecx, dword [0x544664]
jle 0x49280c
mov dword [0x544664], ecx
push ebx
call dword [0x541ee4]
mov eax, dword [0x5447b8]
add esp, 4
test eax, eax
je 0x492832
push eax
call dword [0x541f18]
jmp 0x49282f
push ebx
call dword [0x541ee4]
add esp, 4
mov ebx, dword [ebp + 8]
inc ebx
movsx eax, byte [ebx]
test eax, eax
je 0x492896
fld qword [esp + 0x70]
fld qword [esp + 0x60]
fld qword [esp + 0x78]
fld qword [esp + 0x80]
fld qword [esp + 0x68]
fld qword [esp + 0x88]
mov ecx, dword [esp + 0x34]
jmp 0x49197e
mov ecx, dword [esp + 0x34]
fstp st(5)
fstp st(3)
mov edx, 0x528fe4
fstp st(1)
fstp st(2)
fstp st(1)
push 1
fstp st(0)
call fcn.00492910
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