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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x65d4d5
sub esp, 0xdc
lea eax, [0x72ce00]
mov dword [esp], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
lea edx, [0x73c07a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.004109f0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x65c8cd
mov dword [esp + 0x4c], eax
lea ecx, [0x706020]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.0044e560
mov eax, dword [esp + 0xc]
mov dword [esp + 0x88], eax
lea ecx, [0x72ce00]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
lea ecx, [0x73c07a]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.004109f0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x84], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x4c]
xor ebp, ebp
xor esi, esi
jmp 0x65c913
lea eax, [0x994f00]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
add esp, 0xdc
ret
mov edi, dword [esp + 0x54]
lea ebp, [edi + 1]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x58]
mov ebx, eax
mov esi, ecx
mov eax, dword [esp + 0x58]
mov ecx, edi
cmp ebp, eax
jge 0x65ca21
lea edi, [ecx + ebp*8]
mov ecx, dword [edi]
mov dword [esp + 0x6c], ecx
mov edi, dword [edi + 4]
mov dword [esp + 0x3c], edi
nop
jmp 0x65ca4e
mov eax, dword [esp + 0x58]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x70], edx
mov dword [esp + 0x54], ebp
jmp 0x65ca77
nop
mov dword [esp], ecx
mov dword [esp + 4], edi
lea eax, [0x7aea4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004cf0f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp eax, 1
jne 0x65c99e
mov edx, dword [ecx + 4]
test edx, edx
jne 0x65c99e
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
jmp 0x65c8f7
test eax, eax
jbe 0x65d4cb
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
jmp 0x65caae
mov dword [esp + 0x2c], eax
mov dword [ecx + 4], ebx
mov ebp, dword [0x995310]
test ebp, ebp
je 0x65c9cd
call fcn.00468e70
mov dword [edi], edx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov dword [esp + 0x5c], ecx
mov dword [ecx], edx
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x7ae8f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004d10d0
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x65ca10
nop
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
jmp 0x65cb13
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
jmp 0x65c8f7
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], ebx
add esp, 0xdc
ret
dec edi
mov eax, edi
neg eax
sar eax, 0x1f
and eax, 1
add ecx, eax
mov eax, dword [esp + 0x58]
test edi, edi
je 0x65c935
movzx eax, byte [ecx]
cmp al, 0x20
je 0x65ca3d
cmp al, 9
je 0x65ca3d
cmp al, 0xa
je 0x65ca3d
cmp al, 0xd
je 0x65ca3d
jmp 0x65c931
dec edi
mov eax, dword [esp + 0x58]
test edi, edi
je 0x65c94a
movzx eax, byte [ecx + edi - 1]
cmp al, 0x20
je 0x65ca72
cmp al, 9
je 0x65ca72
cmp al, 0xa
je 0x65ca72
cmp al, 0xd
je 0x65ca72
jmp 0x65c94a
dec ebx
mov ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add edx, ebp
test ebx, ebx
je 0x65cad4
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x65ca9d
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x65ca9d
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x65ca9d
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x65ca9d
jmp 0x65cad4
dec ebx
test ebx, ebx
je 0x65c9b0
movzx ebp, byte [edx + ebx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x65cad3
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x65cad3
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x65cad3
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x65cad3
jmp 0x65c9b0
dec ebx
mov ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add eax, ebp
test ebx, ebx
je 0x65cb39
movzx ebp, byte [eax]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x65cb02
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x65cb02
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x65cb02
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x65cb02
jmp 0x65cb39
dec ebx
test ebx, ebx
je 0x65cb60
movzx ebp, byte [eax + ebx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x65cb38
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x65cb38
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x65cb38
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x65cb38
test ebx, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x68], eax
jne 0x65cb6e
xor ebp, ebp
jmp 0x65cba7
mov dword [esp + 0x60], ecx
mov dword [esp + 0x30], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [0x758b30]
mov dword [esp + 8], ecx
call fcn.004d00e0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x68]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x65cbd8
cmp edx, 1
jle 0x65cbd4
cmp byte [ecx], 0x22
jne 0x65cbd4
lea ebp, [edx + ecx - 1]
cmp byte [ebp], 0x22
jne 0x65cbd4
add edx, 0xfffffffe
mov ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ecx, ebp
xor ebp, ebp
jmp 0x65cbea
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
jmp 0x65c8f7
inc ebp
cmp ebp, edx
jge 0x65cc2a
movzx esi, byte [ebp + ecx]
lea edi, [esi - 0x20]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jae 0x65cc1e
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x65cc1a
xchg esi, eax
cmp al, 0x3b
xchg esi, eax
je 0x65cc16
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x65cbe9
cmp ebp, edx
jmp 0x65cc20
cmp ebp, edx
jmp 0x65cc20
cmp ebp, edx
jmp 0x65cc20
cmp ebp, edx
mov ecx, 0
mov edx, 0
jge 0x65cc3d
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x70]
jmp 0x65c8f7
mov dword [esp + 0x50], edx
mov dword [esp + 0x80], ecx
lea eax, [0x728000]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x65cc71
mov ecx, dword [esp + 0x68]
jmp 0x65cc7c
call fcn.00468e60
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x65cc98
mov ecx, dword [esp + 0x80]
jmp 0x65cca6
call fcn.00468e60
mov ecx, dword [esp + 0x80]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0x4c], ecx
mov ecx, dword [0x995310]
test ecx, ecx
jne 0x65ccc0
mov ecx, dword [esp + 0x6c]
jmp 0x65cccb
call fcn.00468e60
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov dword [esp + 0x74], eax
mov dword [eax + 0x48], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, 1
jmp 0x65cce6
inc ebx
mov eax, dword [esp + 0x74]
cmp ebx, edx
jge 0x65cda8
lea ebp, [ecx + ebx*8]
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
jmp 0x65ce2d
mov eax, dword [esp + 0x74]
jmp 0x65ce52
lea eax, [ecx + ebx*8 + 4]
mov dword [eax], edi
mov eax, dword [0x995310]
test eax, eax
jne 0x65cd19
test edi, edi
jmp 0x65cd30
mov eax, edi
call fcn.00468e70
mov dword [edi], esi
mov ecx, dword [ebp]
mov dword [edi + 4], ecx
test eax, eax
mov ecx, dword [esp + 0x5c]
mov edi, eax
mov dword [ebp], esi
je 0x65cce1
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x40], ebx
mov dword [esp], esi
mov dword [esp + 4], edi
lea eax, [0x7ae8f4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004d10d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x34], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00641590
movzx eax, byte [esp + 0x10]
test al, al
je 0x65cd97
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x34]
xor eax, eax
jmp 0x65ce79
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
mov ecx, dword [esp + 0x48]
inc ecx
mov edx, dword [esp + 0x4c]
cmp edx, ecx
jb 0x65cdbb
mov ebx, dword [esp + 0x70]
jmp 0x65cdf7
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x706020]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebp, ebx
mov ebx, edx
mov edx, ebp
mov ebp, dword [0x995310]
test ebp, ebp
je 0x65ce0f
call fcn.00468e70
mov dword [edi], eax
mov ebp, dword [ebx + ecx*4 - 4]
mov dword [edi + 4], ebp
mov dword [ebx + ecx*4 - 4], eax
mov eax, edx
mov edx, ebx
jmp 0x65c8f7
dec edi
mov eax, edi
neg eax
sar eax, 0x1f
and eax, 1
add esi, eax
mov eax, dword [esp + 0x74]
test edi, edi
je 0x65ce52
movzx eax, byte [esi]
cmp al, 0x20
je 0x65ce1c
cmp al, 9
je 0x65ce1c
cmp al, 0xa
je 0x65ce1c
cmp al, 0xd
je 0x65ce1c
jmp 0x65ccfc
dec edi
mov eax, dword [esp + 0x74]
test edi, edi
je 0x65cd05
movzx eax, byte [esi + edi - 1]
cmp al, 0x20
je 0x65ce4d
cmp al, 9
je 0x65ce4d
cmp al, 0xa
je 0x65ce4d
cmp al, 0xd
je 0x65ce4d
jmp 0x65cd05
inc eax
cmp eax, edx
jge 0x65ceb2
movzx ebx, byte [eax + ecx]
lea ebp, [ebx - 0x20]
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
jae 0x65cea6
cmp bl, 0x22
je 0x65cea2
cmp bl, 0x3b
je 0x65ce9e
cmp bl, 0x5c
jne 0x65ce78
cmp eax, edx
jmp 0x65cea8
cmp eax, edx
jmp 0x65cea8
cmp eax, edx
jmp 0x65cea8
cmp eax, edx
mov ecx, 0
mov edx, 0
jge 0x65cf73
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x58]
mov edx, dword [eax + 0x54]
inc edx
mov ebx, dword [eax + 0x50]
mov ebp, dword [esp + 0x7c]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
cmp ecx, edx
jae 0x65cf3d
mov dword [esp + 0x50], ebp
mov dword [esp + 0x80], esi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6f44e0]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x58], eax
mov eax, dword [0x995310]
test eax, eax
je 0x65cf2b
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [ebx + 0x50]
mov dword [edi + 4], eax
mov dword [ebx + 0x50], ecx
mov eax, ebx
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x80]
mov ebx, ecx
mov dword [eax + 0x54], edx
lea ecx, [ebx + edx*8 - 4]
mov dword [ecx], ebp
mov ecx, dword [0x995310]
lea edx, [ebx + edx*8 - 8]
test ecx, ecx
je 0x65cf60
call fcn.00468e70
mov dword [edi], esi
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], esi
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
cmp ebx, 6
jg 0x65d046
cmp ebx, 4
jne 0x65cfc8
cmp dword [ebp], 0x68746170
jne 0x65d403
mov eax, dword [esp + 0x74]
mov dword [eax + 0x14], edx
mov edx, dword [0x995310]
test edx, edx
je 0x65cfb4
call fcn.00468e70
mov dword [edi], ecx
mov edx, dword [eax + 0x10]
mov dword [edi + 4], edx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
cmp ebx, 6
jne 0x65d403
cmp dword [ebp], 0x616d6f64
jne 0x65d014
cmp word [ebp + 4], 0x6e69
jne 0x65d014
mov eax, dword [esp + 0x74]
mov dword [eax + 0x1c], edx
mov edx, dword [0x995310]
test edx, edx
je 0x65d000
call fcn.00468e70
mov dword [edi], ecx
mov edx, dword [eax + 0x18]
mov dword [edi + 4], edx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
cmp dword [ebp], 0x75636573
jne 0x65d403
cmp word [ebp + 4], 0x6572
jne 0x65d403
mov eax, dword [esp + 0x74]
mov byte [eax + 0x40], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
cmp ebx, 7
jne 0x65d305
mov dword [esp + 0x34], edx
mov dword [esp + 0x64], ecx
cmp dword [ebp], 0x69707865
jne 0x65d287
cmp word [ebp + 4], 0x6572
jne 0x65d287
cmp byte [ebp + 6], 0x73
jne 0x65d287
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x38], edx
mov ebp, dword [0x995310]
test ebp, ebp
je 0x65d098
call fcn.00468e70
mov dword [edi], ecx
mov ebp, dword [ebx + 0x34]
mov dword [edi + 4], ebp
mov dword [ebx + 0x34], ecx
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.004690fb
lea ecx, [0x7452e7]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov ebp, dword [esp + 0x64]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
call fcn.00486470
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
lea edi, [esp + 0xc8]
lea esi, [esp + 0x10]
call fcn.004695de
lea edi, [esp + 0xb4]
lea esi, [esp + 0xc8]
call fcn.004695de
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x65d1a4
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.004690fb
lea ecx, [0x745304]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
call fcn.00486470
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x44], ecx
lea edi, [esp + 0xc8]
lea esi, [esp + 0x10]
call fcn.004695de
lea edi, [esp + 0xb4]
lea esi, [esp + 0xc8]
call fcn.004695de
mov ecx, dword [esp + 0x44]
test ecx, ecx
je 0x65d1a4
mov ecx, dword [0x995310]
mov edx, dword [esp + 0x74]
lea edi, [edx + 0x20]
test ecx, ecx
je 0x65d198
mov dword [esp + 0x78], edi
lea eax, [0x737960]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00411b40
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
xor eax, eax
call fcn.004690fb
jmp 0x65d407
lea edi, [esp + 0xa0]
lea esi, [esp + 0xb4]
call fcn.004695de
mov eax, dword [esp + 0xa4]
nop
nop
test eax, 0x80000000
je 0x65d212
mov ecx, dword [esp + 0xa0]
shl eax, 1
mov edx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, eax
mov eax, edx
shl edx, 1
shr eax, 0x1f
shr ecx, 0x1f
or ecx, edx
add ecx, 0xd7b17f80
mov dword [esp + 0xa8], ecx
adc eax, 0xd
mov dword [esp + 0xac], eax
and dword [esp + 0xa0], 0x3fffffff
mov dword [esp + 0xa4], 0
mov dword [esp + 0xb0], 0
lea edi, [esp + 0x8c]
lea esi, [esp + 0xa0]
call fcn.004695de
mov eax, dword [0x995310]
mov ecx, dword [esp + 0x74]
lea edi, [ecx + 0x20]
test eax, eax
je 0x65d26a
mov dword [esp + 0x78], edi
lea eax, [0x737960]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.00411b70
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
lea esi, [esp + 0x8c]
call fcn.004695de
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
cmp dword [ebp], 0x2d78616d
jne 0x65d403
cmp word [ebp + 4], 0x6761
jne 0x65d403
cmp byte [ebp + 6], 0x65
jne 0x65d403
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004a61d0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x65d2db
mov edx, dword [esp + 8]
test edx, edx
je 0x65d2e8
mov ebx, dword [esp + 0x34]
test ebx, ebx
jbe 0x65d4c2
mov eax, dword [esp + 0x64]
cmp byte [eax], 0x30
jne 0x65d2e4
mov edx, dword [esp + 0x74]
jmp 0x65d407
test edx, edx
jg 0x65d2ed
mov edx, 0xffffffff
mov eax, dword [esp + 0x74]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
cmp ebx, 8
jne 0x65d403
cmp dword [ebp], 0x70747468
jne 0x65d339
cmp dword [ebp + 4], 0x796c6e6f
jne 0x65d339
mov eax, dword [esp + 0x74]
mov byte [eax + 0x41], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
cmp dword [ebp], 0x656d6173
jne 0x65d403
cmp dword [ebp + 4], 0x65746973
jne 0x65d403
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00641590
movzx eax, byte [esp + 0x10]
test al, al
je 0x65d3e7
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp eax, 3
jne 0x65d38f
cmp word [ecx], 0x616c
jne 0x65d3cb
cmp byte [ecx + 2], 0x78
jne 0x65d3cb
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 2
jmp 0x65d3d6
cmp eax, 4
jne 0x65d3a9
cmp dword [ecx], 0x656e6f6e
jne 0x65d3cb
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 4
jmp 0x65d3d6
cmp eax, 6
jne 0x65d3cb
cmp dword [ecx], 0x69727473
jne 0x65d3cb
cmp word [ecx + 4], 0x7463
jne 0x65d3cb
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 3
jmp 0x65d3d6
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
mov edx, dword [esp + 0x74]
mov eax, dword [edx + 0x58]
mov ecx, dword [edx + 0x54]
inc ecx
mov ebx, dword [edx + 0x50]
mov ebp, dword [esp + 0x7c]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
cmp eax, ecx
jae 0x65d48c
mov dword [esp + 0x50], ebp
mov dword [esp + 0x80], esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6f44e0]
mov dword [esp + 0x10], eax
call fcn.0044e6e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x58], eax
mov eax, dword [0x995310]
test eax, eax
je 0x65d476
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [ebx + 0x50]
mov dword [edi + 4], eax
mov dword [ebx + 0x50], ecx
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x80]
mov ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x74]
mov dword [edx + 0x54], ecx
lea eax, [ebx + ecx*8 - 4]
mov dword [eax], ebp
mov eax, dword [0x995310]
lea ecx, [ebx + ecx*8 - 8]
test eax, eax
je 0x65d4af
call fcn.00468e70
mov dword [edi], esi
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], esi
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
jmp 0x65cce1
xor eax, eax
mov ecx, eax
call fcn.00468ed0
xor eax, eax
mov ecx, eax
call fcn.00468ed0
nop
call fcn.00467a60
jmp fcn.0065c800