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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
mov eax, dword [0x5b3680]
xor eax, esp
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x2c], ecx
movsx ecx, byte [eax]
push edi
xor edi, edi
mov dword [esp + 0x74], edx
mov dword [esp + 0x10], esi
test ecx, ecx
je case.default.0x48900f
movsd xmm4, qword [0x593200]
movsd xmm5, qword [0x593280]
movsd xmm7, qword [0x5931b0]
movsd xmm6, qword [0x5932a8]
movsd xmm3, qword [0x5931c8]
cmp ecx, 0x25
je 0x488e0a
movsx esi, byte [eax + 1]
mov edi, eax
inc eax
mov ecx, 1
mov dword [esp + 0x24], eax
cmp esi, 0x25
je 0x488dc3
mov edi, edi
test esi, esi
je 0x488dbf
movsx esi, byte [eax + 1]
inc eax
inc ecx
cmp esi, 0x25
jne 0x488db0
mov dword [esp + 0x24], eax
push ecx
mov ecx, dword [esp + 0x34]
mov edx, edi
call fcn.00489b40
add esp, 4
test esi, esi
je case.default.0x48900f
movsd xmm3, qword [0x5931c8]
movsd xmm4, qword [0x593200]
movsd xmm5, qword [0x593280]
movsd xmm6, qword [0x5932a8]
movsd xmm7, qword [0x5931b0]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
movsx ecx, byte [eax + 1]
inc eax
mov dword [esp + 0x24], eax
test ecx, ecx
je 0x489a9e
mov byte [esp + 0x2e], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0xe], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x1f], 0
lea esp, [esp]
lea edx, [ecx - 0x20]
cmp edx, 0x10
ja case.default.0x488e4f
movzx eax, byte [edx + 0x489ae4]
jmp dword [eax*4 + 0x489ac8]
mov byte [esp + 0x1f], 1
jmp 0x488e7e
mov byte [esp + 0x16], 1
jmp 0x488e7e
mov byte [esp + 0xe], 1
jmp 0x488e7e
mov byte [esp + 0x17], 1
jmp 0x488e7e
mov byte [esp + 0x2d], 1
jmp 0x488e7e
mov byte [esp + 0x2e], 1
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
movsx ecx, byte [eax]
test ecx, ecx
jne 0x488e40
jmp case.default.0x488e4f
mov eax, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x18], edx
cmp ecx, 0x2a
jne 0x488ec6
mov edx, dword [esi]
add esi, 4
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], edx
test edx, edx
jns 0x488ebb
neg edx
mov byte [esp + 0x1f], 1
mov dword [esp + 0x18], edx
movsx ecx, byte [eax + 1]
inc eax
mov dword [esp + 0x24], eax
jmp 0x488ef3
cmp ecx, 0x30
jl 0x488ef3
jmp 0x488ed0
cmp ecx, 0x39
jg 0x488eef
lea eax, [edx - 6]
lea eax, [edx + eax*4]
lea edx, [ecx + eax*2]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
movsx ecx, byte [eax]
cmp ecx, 0x30
jge 0x488ed0
mov dword [esp + 0x18], edx
cmp ecx, 0x2e
jne 0x488f58
movsx ecx, byte [eax + 1]
inc eax
xor edx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
cmp ecx, 0x2a
jne 0x488f2e
mov edx, dword [esi]
add esi, 4
mov dword [esp + 0x10], esi
mov dword [esp + 0x28], edx
test edx, edx
jns 0x488f23
neg edx
mov dword [esp + 0x28], edx
movsx ecx, byte [eax + 1]
inc eax
mov dword [esp + 0x24], eax
jmp 0x488f5f
cmp ecx, 0x30
jl 0x488f5f
cmp ecx, 0x39
jg 0x488f5f
lea eax, [edx - 6]
lea eax, [edx + eax*4]
lea edx, [ecx + eax*2]
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
movsx ecx, byte [eax]
cmp ecx, 0x30
jge 0x488f33
jmp 0x488f5f
or edx, 0xffffffff
mov dword [esp + 0x28], edx
cmp ecx, 0x6c
jne 0x488f87
movsx ecx, byte [eax + 1]
inc eax
mov byte [esp + 0x1e], 1
mov dword [esp + 0x24], eax
cmp ecx, 0x6c
jne 0x488f8c
movsx ecx, byte [eax + 1]
inc eax
mov byte [esp + 0x2f], 1
mov dword [esp + 0x24], eax
jmp 0x488f91
mov byte [esp + 0x1e], 0
mov byte [esp + 0x2f], 0
xor eax, eax
mov dword [esp + 0x34], 0x5866c0
mov byte [esp + 0xf], 0
mov esi, 0x5866c0
mov dword [esp + 0x44], eax
lea esp, [esp]
movsx eax, byte [esi]
cmp ecx, eax
je 0x488fd0
inc dword [esp + 0x44]
add esi, 6
cmp esi, 0x58674a
jl 0x488fb0
mov cl, byte [esp + 0xf]
mov esi, dword [esp + 0x34]
jmp 0x488ffa
cmp dword [esp + 0x74], 0
mov eax, dword [esp + 0x44]
lea eax, [eax + eax*2]
lea esi, [eax*2 + 0x5866c0]
mov dword [esp + 0x34], esi
jne 0x488ff3
test byte [esi + 2], 2
jne case.default.0x48900f
mov cl, byte [esi + 3]
mov byte [esp + 0xf], cl
movzx eax, cl
dec eax
mov dword [esp + 0x44], 0
cmp eax, 0xf
ja case.default.0x48900f
jmp dword [eax*4 + 0x489af8]
xor al, al
mov cl, 1
jmp 0x489024
mov al, byte [esp + 0x2f]
mov cl, byte [esp + 0x1e]
test byte [esi + 2], 1
mov esi, dword [esp + 0x10]
je 0x48909f
test al, al
je 0x48903c
mov eax, dword [esi]
add esi, 8
mov ecx, dword [esi - 4]
jmp 0x489046
mov eax, dword [esi]
add esi, 4
cdq
test cl, cl
mov ecx, edx
mov dword [esp + 0x10], esi
test ecx, ecx
jg 0x48907f
jl 0x489054
test eax, eax
jae 0x48907f
test eax, eax
jne 0x48906c
cmp ecx, 0x80000000
jne 0x48906c
mov dword [esp + 0x38], ecx
mov cl, 0x2d
mov dword [esp + 0x20], eax
jmp 0x4890cc
neg eax
mov dword [esp + 0x20], eax
adc ecx, 0
neg ecx
mov dword [esp + 0x38], ecx
mov cl, 0x2d
jmp 0x4890cc
cmp byte [esp + 0x16], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], ecx
je 0x489092
mov cl, 0x2b
jmp 0x4890cc
mov cl, byte [esp + 0xe]
neg cl
sbb cl, cl
and cl, 0x20
jmp 0x4890cc
test al, al
je 0x4890b5
mov eax, dword [esi]
add esi, 8
mov dword [esp + 0x20], eax
mov eax, dword [esi - 4]
mov dword [esp + 0x38], eax
jmp 0x4890c6
mov eax, dword [esi]
add esi, 4
mov dword [esp + 0x38], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], esi
xor cl, cl
mov edx, dword [esp + 0x20]
mov eax, edx
or eax, dword [esp + 0x38]
mov byte [esp + 0xe], cl
jne 0x4890e0
mov byte [esp + 0x17], al
cmp byte [esp + 0x2e], 0
mov esi, dword [esp + 0x28]
je 0x489101
xor eax, eax
test cl, cl
mov ecx, dword [esp + 0x18]
setne al
sub ecx, eax
cmp esi, ecx
cmovl esi, ecx
mov dword [esp + 0x28], esi
cmp esi, 0x3c
jge 0x489119
mov edi, 0x46
lea eax, [esp + 0x78]
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], eax
jmp 0x48913f
lea edi, [esi + 0xa]
push edi
mov dword [esp + 0x54], edi
call fcn.00488410
mov ecx, eax
mov dword [esp + 0x5c], eax
add esp, 4
mov dword [esp + 0x44], ecx
test ecx, ecx
je 0x4899b0
mov edx, dword [esp + 0x20]
dec edi
add edi, eax
cmp byte [esp + 0xf], 0x10
jne 0x4891a4
push 0
push 0xa
push dword [esp + 0x40]
push edx
call fcn.00535a00
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x68], eax
lea eax, [eax + eax*4]
add eax, eax
sub ecx, eax
mov dword [esp + 0x54], ecx
cmp ecx, 4
jge 0x489186
push 0
push 0xa
push edx
push dword [esp + 0x74]
call fcn.00555270
cmp eax, 1
jne 0x48918a
test edx, edx
jne 0x48918a
xor ecx, ecx
jmp 0x48918e
mov ecx, dword [esp + 0x54]
mov al, byte [ecx*2 + 0x5861cd]
mov byte [edi - 1], al
sub edi, 2
mov al, byte [ecx*2 + 0x5861cc]
mov byte [edi], al
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
movzx eax, byte [ecx + 4]
add eax, 0x588ab0
mov dword [esp + 0x48], eax
movzx eax, byte [ecx + 1]
cdq
mov ecx, eax
mov eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x54], eax
mov edi, edi
push eax
push ecx
push edx
push esi
dec edi
call fcn.00541c30
mov dword [esp + 0x3c], ebx
mov esi, eax
mov eax, dword [esp + 0x48]
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x68]
mov byte [edi], al
mov eax, dword [esp + 0x54]
test edx, edx
ja 0x4891d0
jb 0x4891fb
test esi, esi
jne 0x4891d0
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x58]
sub eax, edx
sub eax, dword [esp + 0x50]
inc eax
add eax, edi
test eax, eax
jle 0x489219
dec edi
dec eax
mov byte [edi], 0x30
test eax, eax
jg 0x489210
mov ch, byte [esp + 0xe]
test ch, ch
je 0x489224
dec edi
mov byte [edi], ch
cmp byte [esp + 0x17], 0
je 0x489250
mov eax, dword [esp + 0x34]
mov al, byte [eax + 5]
test al, al
je 0x489250
movzx eax, al
add eax, 0x58893c
mov cl, byte [eax]
test cl, cl
je 0x489250
dec edi
lea eax, [eax + 1]
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x489244
mov esi, dword [esp + 0x50]
sub edx, edi
dec esi
add esi, edx
jmp 0x48947e
mov esi, dword [esp + 0x10]
mov eax, 6
add esi, 8
xorps xmm0, xmm0
test edx, edx
mov dword [esp + 0x10], esi
cmovs edx, eax
movsd xmm1, qword [esi - 8]
comisd xmm0, xmm1
mov dword [esp + 0x28], edx
movsd qword [esp + 0x48], xmm1
jbe 0x4892a0
xorpd xmm1, xmmword [0x593320]
movsd qword [esp + 0x48], xmm1
mov byte [esp + 0xe], 0x2d
jmp 0x4892bd
cmp byte [esp + 0x16], 0
je 0x4892af
mov ch, 0x2b
mov byte [esp + 0xe], ch
jmp 0x4892bd
mov al, byte [esp + 0xe]
neg al
sbb al, al
and al, 0x20
mov byte [esp + 0xe], al
cmp cl, 4
jne 0x4892cb
test edx, edx
jle 0x4892cb
dec edx
mov dword [esp + 0x28], edx
movsd xmm2, qword [0x5931d0]
mov ecx, edx
cmp edx, 8
jl 0x489313
lea esi, [edx - 8]
shr esi, 3
inc esi
lea eax, [esi*8]
sub ecx, eax
lea ebx, [ebx]
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
mulsd xmm2, xmm3
dec esi
jne 0x4892f0
test ecx, ecx
jle 0x489320
dec ecx
mulsd xmm2, xmm3
test ecx, ecx
jg 0x489317
mov al, byte [esp + 0xf]
cmp al, 2
jne 0x489336
movapd xmm0, xmm2
addsd xmm1, xmm0
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x58], xmm1
xor ecx, ecx
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [esp + 0x58]
ucomisd xmm0, qword [esp + 0x68]
mov dword [esp + 0x20], ecx
lahf
test ah, 0x44
jnp 0x48936d
mov edi, 0x58e158
lea esi, [ecx + 3]
jmp 0x48947e
comisd xmm1, xmmword [0x5931a0]
jbe 0x4894ee
comisd xmm1, xmm6
jb 0x4893a0
cmp ecx, 0x15e
jg 0x489396
mulsd xmm1, xmm7
add ecx, 0x20
comisd xmm1, xmm6
jae 0x489381
mov dword [esp + 0x20], ecx
movsd qword [esp + 0x48], xmm1
comisd xmm1, xmm5
jb 0x4893cf
movsd xmm0, qword [0x5931c0]
mov edi, edi
cmp ecx, 0x15e
jg 0x4893c5
mulsd xmm1, xmm0
add ecx, 8
comisd xmm1, xmm5
jae 0x4893b0
mov dword [esp + 0x20], ecx
movsd qword [esp + 0x48], xmm1
comisd xmm1, xmm4
jb 0x4893f2
cmp ecx, 0x15e
jg 0x4893e8
mulsd xmm1, xmm3
inc ecx
comisd xmm1, xmm4
jae 0x4893d5
mov dword [esp + 0x20], ecx
movsd qword [esp + 0x48], xmm1
movsd xmm0, qword [0x5931c0]
comisd xmm0, xmm1
jbe 0x489417
mulsd xmm1, xmm5
sub ecx, 8
comisd xmm0, xmm1
ja 0x489400
mov dword [esp + 0x20], ecx
movsd qword [esp + 0x48], xmm1
movsd xmm0, qword [0x5931d8]
comisd xmm0, xmm1
jbe 0x48943a
mulsd xmm1, xmm4
dec ecx
comisd xmm0, xmm1
ja 0x489425
mov dword [esp + 0x20], ecx
movsd qword [esp + 0x48], xmm1
cmp ecx, 0x15e
jle 0x4894ee
mov al, byte [esp + 0xe]
cmp al, 0x2d
jne 0x489457
mov edi, str._Inf
mov esi, edi
jmp 0x489470
cmp al, 0x2b
jne 0x489464
mov edi, str.Inf
mov esi, edi
jmp 0x489470
mov edi, 0x58e16c
mov esi, edi
jmp 0x489470
inc esi
cmp byte [esi], 0
jne 0x489470
sub esi, edi
and esi, 0x3fffffff
mov eax, dword [esp + 0x18]
cmp byte [esp + 0x1f], 0
jne 0x48949a
mov edx, eax
sub edx, esi
test edx, edx
jle 0x48949a
mov ecx, dword [esp + 0x30]
call fcn.00488be0
test esi, esi
jle 0x4894ad
mov ecx, dword [esp + 0x30]
mov edx, edi
push esi
call fcn.00489b40
add esp, 4
cmp byte [esp + 0x1f], 0
je 0x4894c9
mov eax, dword [esp + 0x18]
sub eax, esi
test eax, eax
jle 0x4894c9
mov ecx, dword [esp + 0x30]
mov edx, eax
call fcn.00488be0
push dword [esp + 0x44]
call fcn.00488710
mov eax, dword [esp + 0x28]
add esp, 4
inc eax
movsx ecx, byte [eax]
test ecx, ecx
je case.default.0x48900f
mov esi, dword [esp + 0x10]
jmp 0x488d6c
lea esi, [esp + 0x78]
cmp al, 2
je 0x489515
addsd xmm1, xmm2
comisd xmm1, xmm4
movsd qword [esp + 0x48], xmm1
jb 0x489515
mulsd xmm1, xmm3
inc ecx
mov dword [esp + 0x20], ecx
movsd qword [esp + 0x48], xmm1
cmp al, 4
jne 0x489540
cmp byte [esp + 0x17], 0
sete byte [esp + 0x1e]
cmp ecx, 0xfffffffc
jl 0x489539
cmp ecx, edx
jg 0x489539
sub edx, ecx
mov byte [esp + 0xf], 2
mov dword [esp + 0x28], edx
jmp 0x48954b
mov byte [esp + 0xf], 3
jmp 0x489549
mov byte [esp + 0x1e], 0
cmp al, 3
jne 0x48954b
xor ecx, ecx
lea eax, [ecx + edx]
mov dword [esp + 0x38], ecx
add eax, dword [esp + 0x18]
cmp eax, 0x37
jle 0x489579
add eax, 0xf
push eax
call fcn.00488410
add esp, 4
mov dword [esp + 0x44], eax
mov esi, eax
test eax, eax
je 0x4899b0
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov edi, esi
test edx, edx
mov dword [esp + 0x68], edi
mov dword [esp + 0x58], ecx
setg al
or al, byte [esp + 0x2d]
or al, byte [esp + 0x17]
mov byte [esp + 0x16], al
mov al, byte [esp + 0xe]
test al, al
je 0x4895a1
mov byte [esi], al
inc esi
mov eax, dword [esp + 0x38]
movsd xmm1, qword [esp + 0x48]
movsd xmm2, qword [0x593200]
test eax, eax
jns 0x4895bd
mov byte [esi], 0x30
inc esi
jmp 0x4895f9
mov edx, dword [esp + 0x38]
mov eax, ecx
inc ecx
cmp eax, 0x10
jl 0x4895cd
mov al, 0x30
jmp 0x4895e3
cvttsd2si eax, xmm1
movd xmm0, eax
add al, 0x30
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
mov byte [esi], al
inc esi
dec edx
jns 0x4895c1
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x58], ecx
cmp byte [esp + 0x16], 0
je 0x489604
mov byte [esi], 0x2e
inc esi
inc eax
jns 0x489636
neg eax
mov edi, esi
mov ecx, eax
mov dword [esp + 0x38], eax
mov edx, ecx
mov eax, 0x30303030
shr ecx, 2
add esi, edx
rep stosd dword es:[edi], eax
mov ecx, edx
mov edx, dword [esp + 0x28]
and ecx, 3
sub edx, dword [esp + 0x38]
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x58]
test edx, edx
jle 0x48966a
lea ebx, [ebx]
mov eax, ecx
dec edx
inc ecx
cmp eax, 0x10
jl 0x48964d
mov al, 0x30
jmp 0x489663
cvttsd2si eax, xmm1
movd xmm0, eax
add al, 0x30
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
mov byte [esi], al
inc esi
test edx, edx
jg 0x489640
cmp byte [esp + 0x1e], 0
je 0x4896a5
cmp byte [esp + 0x16], 0
je 0x4896a5
cmp byte [esi - 1], 0x30
lea eax, [esi - 1]
jne 0x48968e
mov esi, eax
lea eax, [esi - 1]
mov byte [esi], 0
cmp byte [eax], 0x30
je 0x489681
cmp byte [esi - 1], 0x2e
jne 0x4896a5
cmp byte [esp + 0x2d], 0
je 0x4896a1
mov byte [esi], 0x30
inc esi
jmp 0x4896a5
dec esi
mov byte [esi], 0
cmp byte [esp + 0xf], 3
jne 0x489737
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
movzx eax, byte [eax + 4]
mov al, byte [eax + 0x588ab0]
mov byte [esi], al
test ecx, ecx
jns 0x4896d7
mov byte [esi + 1], 0x2d
add esi, 2
neg ecx
mov dword [esp + 0x20], ecx
jmp 0x4896de
mov byte [esi + 1], 0x2b
add esi, 2
cmp ecx, 0x64
jl 0x489708
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, cl
add al, 0x30
mov byte [esi], al
inc esi
imul eax, ecx, 0xffffff9c
mov ecx, dword [esp + 0x20]
add ecx, eax
mov dword [esp + 0x20], ecx
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov al, cl
add al, 0x30
mov byte [esi], al
mov al, cl
shl cl, 2
add al, cl
mov ecx, dword [esp + 0x20]
add al, al
sub cl, al
add cl, 0x30
mov byte [esi + 1], cl
add esi, 2
mov byte [esi], 0
sub esi, edi
cmp byte [esp + 0x2e], 0
je 0x48947e
cmp byte [esp + 0x1f], 0
jne 0x48949a
mov eax, dword [esp + 0x18]
cmp esi, eax
jge 0x489489
mov edx, eax
mov ecx, eax
sub edx, esi
cmp eax, edx
jl 0x48977b
mov esi, edi
sub esi, edx
lea esp, [esp]
mov al, byte [ecx + esi]
mov byte [ecx + edi], al
dec ecx
cmp ecx, edx
jge 0x489770
mov ch, byte [esp + 0xe]
xor eax, eax
test ch, ch
setne al
test edx, edx
je 0x4897a3
add edi, eax
mov ecx, edx
shr ecx, 2
mov eax, 0x30303030
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x18]
mov esi, eax
jmp 0x489489
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
add esi, 4
mov dword [esp + 0x10], esi
mov ecx, dword [esi - 4]
mov eax, dword [eax + 0xc]
mov dword [ecx], eax
xor eax, eax
mov dword [esp + 0x18], eax
xor esi, esi
jmp 0x489482
mov byte [esp + 0x78], 0x25
lea edi, [esp + 0x78]
mov esi, 1
jmp 0x48947e
mov esi, dword [esp + 0x10]
add esi, 4
mov dword [esp + 0x10], esi
mov eax, dword [esi - 4]
mov byte [esp + 0x78], al
test edx, edx
js 0x48982d
cmp edx, 1
jle 0x489822
movzx eax, al
lea ecx, [edx - 1]
mov esi, ecx
imul eax, eax, 0x1010101
mov edx, dword [esp + 0x28]
lea edi, [esp + 0x79]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov esi, edx
lea edi, [esp + 0x78]
jmp 0x48947e
mov esi, 1
lea edi, [esp + 0x78]
jmp 0x48947e
mov esi, dword [esp + 0x10]
add esi, 4
mov dword [esp + 0x10], esi
mov edi, dword [esi - 4]
test edi, edi
jne 0x489854
mov edi, 0x581d3c
jmp 0x489862
mov eax, dword [esp + 0x44]
cmp cl, 7
cmove eax, edi
mov dword [esp + 0x44], eax
test edx, edx
js 0x489884
xor esi, esi
test edx, edx
jle 0x48947e
cmp byte [esi + edi], 0
je 0x48947e
inc esi
cmp esi, edx
jl 0x489870
jmp 0x48947e
mov esi, edi
test edi, edi
je 0x48947e
cmp byte [edi], 0
je 0x489476
inc esi
cmp byte [esi], 0
jne 0x489897
jmp 0x489476
mov esi, dword [esp + 0x10]
cmp cl, 0xf
mov ecx, 0x22
mov eax, 0x27
cmove eax, ecx
add esi, 4
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x10], esi
mov ecx, dword [esi - 4]
test ecx, ecx
mov dword [esp + 0x50], ecx
sete al
mov dword [esp + 0x48], eax
test eax, eax
je 0x4898ed
cmp byte [esp + 0xf], 0xb
mov ecx, str.NULL
mov eax, str._NULL_
cmovne ecx, eax
mov dword [esp + 0x50], ecx
xor eax, eax
xor esi, esi
mov dword [esp + 0x58], eax
test edx, edx
je 0x48991a
lea esp, [esp]
mov cl, byte [eax + ecx]
test cl, cl
je 0x489916
cmp cl, byte [esp + 0x38]
jne 0x48990e
inc esi
mov ecx, dword [esp + 0x50]
inc eax
dec edx
jne 0x489900
mov dword [esp + 0x58], eax
cmp dword [esp + 0x48], 0
jne 0x48992f
cmp byte [esp + 0xf], 0xb
jne 0x48992f
mov ecx, 1
jmp 0x489931
xor ecx, ecx
inc esi
mov dword [esp + 0x34], ecx
lea eax, [eax + ecx*2]
add esi, eax
cmp esi, 0x46
jle 0x4899cd
cmp esi, 0x7fffff00
jge 0x4899a2
cmp dword [0x5b5b88], 0
je 0x489990
mov eax, dword [0x5ba3d8]
test eax, eax
je 0x489968
push eax
call dword [0x5b5bd4]
add esp, 4
lea edx, [esp + 0x64]
mov ecx, esi
call fcn.00488320
mov eax, dword [0x5ba3d8]
test eax, eax
je 0x489986
push eax
call dword [0x5b5bdc]
add esp, 4
mov edi, dword [esp + 0x64]
mov ecx, dword [esp + 0x34]
jmp 0x4899a8
push esi
call dword [0x5b5ba4]
mov ecx, dword [esp + 0x38]
add esp, 4
mov edi, eax
jmp 0x4899a4
xor edi, edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x44], edi
test edi, edi
jne 0x4899d1
mov eax, dword [esp + 0x30]
mov byte [eax + 0x18], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb8]
xor ecx, esp
call fcn.005295e2
mov esp, ebp
pop ebp
ret
lea edi, [esp + 0x78]
xor esi, esi
test ecx, ecx
je 0x4899e2
mov eax, dword [esp + 0x38]
mov esi, 1
mov byte [edi], al
mov edx, dword [esp + 0x58]
xor ecx, ecx
test edx, edx
jle 0x489a0a
lea esp, [esp]
mov eax, dword [esp + 0x50]
mov al, byte [ecx + eax]
mov byte [esi + edi], al
inc esi
cmp al, byte [esp + 0x38]
jne 0x489a05
mov byte [esi + edi], al
inc esi
inc ecx
cmp ecx, edx
jl 0x4899f0
cmp dword [esp + 0x34], 0
je 0x489a19
mov eax, dword [esp + 0x38]
mov byte [esi + edi], al
inc esi
mov byte [esi + edi], 0
jmp 0x48947e
mov esi, dword [esp + 0x10]
add esi, 4
mov dword [esp + 0x10], esi
mov edx, dword [esi - 4]
test edx, edx
je 0x489a45
push dword [edx + 4]
mov edx, dword [edx]
mov ecx, dword [esp + 0x34]
call fcn.00489b40
add esp, 4
xor eax, eax
xor esi, esi
mov dword [esp + 0x18], eax
jmp 0x489482
mov esi, dword [esp + 0x10]
mov eax, dword [esi]
add esi, 8
mov dword [esp + 0x10], esi
mov dword [esp + 0x48], eax
mov esi, dword [esi - 4]
shl esi, 6
mov edx, dword [esi + eax + 8]
test edx, edx
je 0x489a96
mov ecx, dword [esp + 0x30]
push 0xffffffffffffffff
call fcn.00489b40
mov ecx, dword [esp + 0x34]
add esp, 4
mov edx, 0x581bc0
push 1
call fcn.00489b40
mov eax, dword [esp + 0x4c]
add esp, 4
mov edx, dword [esi + eax + 0xc]
push 0xffffffffffffffff
jmp 0x489a39
mov ecx, dword [esp + 0x30]
mov edx, 0x58e154
push 1
call fcn.00489b40
add esp, 4
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005295e2
mov esp, ebp
pop ebp
ret