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

Disassembly:
mov ecx, dword [0x9aee30]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x630a0d
sub esp, 0xdc
lea eax, [0x6c2220]
mov dword [esp], eax
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
lea edx, [0x6d1509]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.004116c0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x62fddd
mov dword [esp + 0x44], eax
lea ecx, [0x6a05e0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.004507f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc4], eax
lea ecx, [0x6c2220]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 4], ecx
lea ecx, [0x6d1509]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.004116c0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0xc0], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x44]
xor ebp, ebp
xor esi, esi
jmp 0x62fe23
lea eax, [0x9aece0]
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 + 0xc0]
mov ebx, dword [esp + 0x58]
mov ebx, ecx
mov esi, eax
mov eax, dword [esp + 0x58]
mov ecx, edi
cmp ebp, eax
jge 0x62ff3d
lea edi, [ecx + ebp*8]
mov ecx, dword [edi]
mov dword [esp + 0xa0], ecx
mov edi, dword [edi + 4]
mov dword [esp + 0x34], edi
nop
jmp 0x62ff6a
mov eax, dword [esp + 0x58]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], esi
mov dword [esp + 0xa8], edx
mov dword [esp + 0x54], ebp
jmp 0x62ff93
nop
mov dword [esp], ecx
mov dword [esp + 4], edi
lea eax, [0x746f38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004d1890
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp eax, 1
jne 0x62feb7
mov edx, dword [ecx + 4]
test edx, edx
jne 0x62feb7
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
jmp 0x62fe07
test eax, eax
jbe 0x630a03
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
jmp 0x62ffca
mov dword [esp + 0x2c], eax
mov dword [ecx + 4], ebx
mov ebp, dword [0x9aef70]
test ebp, ebp
je 0x62fee6
call fcn.0046c8a0
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, [0x6cf9b6]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004d3870
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x62ff29
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
nop
jmp 0x63002f
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
jmp 0x62fe07
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 0x62fe48
movzx eax, byte [ecx]
cmp al, 0x20
je 0x62ff59
cmp al, 9
je 0x62ff59
cmp al, 0xa
je 0x62ff59
cmp al, 0xd
je 0x62ff59
jmp 0x62fe44
dec edi
mov eax, dword [esp + 0x58]
test edi, edi
je 0x62fe60
movzx eax, byte [ecx + edi - 1]
cmp al, 0x20
je 0x62ff8e
cmp al, 9
je 0x62ff8e
cmp al, 0xa
je 0x62ff8e
cmp al, 0xd
je 0x62ff8e
jmp 0x62fe60
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 0x62fff0
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x62ffb9
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x62ffb9
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x62ffb9
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x62ffb9
jmp 0x62fff0
dec ebx
test ebx, ebx
je 0x62fec9
movzx ebp, byte [ebx + edx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x62ffef
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x62ffef
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x62ffef
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x62ffef
jmp 0x62fec9
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 0x630055
movzx ebp, byte [eax]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x63001e
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x63001e
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x63001e
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x63001e
jmp 0x630055
dec ebx
test ebx, ebx
je 0x63007c
movzx ebp, byte [ebx + eax - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x630054
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x630054
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x630054
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x630054
test ebx, ebx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x4c], ebx
jne 0x63008d
xor ebp, ebp
jmp 0x6300cf
mov dword [esp + 0xac], ecx
mov dword [esp + 0x48], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
lea ecx, [0x6f9e90]
mov dword [esp + 8], ecx
call fcn.004d2880
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, eax
mov eax, dword [esp + 0xb0]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x630100
cmp edx, 1
jle 0x6300fc
cmp byte [ecx], 0x22
jne 0x6300fc
lea ebp, [edx + ecx - 1]
cmp byte [ebp], 0x22
jne 0x6300fc
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 0x630115
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
jmp 0x62fe07
inc ebp
cmp ebp, edx
jge 0x630155
movzx esi, byte [ebp + ecx]
lea edi, [esi - 0x20]
xchg edi, eax
cmp al, 0x5f
xchg edi, eax
jae 0x630149
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x630145
xchg esi, eax
cmp al, 0x3b
xchg esi, eax
je 0x630141
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x630114
cmp ebp, edx
jmp 0x63014b
cmp ebp, edx
jmp 0x63014b
cmp ebp, edx
jmp 0x63014b
cmp ebp, edx
mov ecx, 0
mov edx, 0
jge 0x63016b
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
jmp 0x62fe07
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x50], edx
lea eax, [0x6be100]
mov dword [esp], eax
call fcn.0040d2a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [0x9aef70]
test ecx, ecx
jne 0x6301b0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xa0]
jmp 0x6301d2
call fcn.0046c8b0
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
mov edx, dword [esp + 0xbc]
mov dword [edi + 4], edx
mov ebx, dword [esp + 0xa0]
mov dword [edi + 8], ebx
mov dword [esp + 0x74], eax
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x4c], ecx
mov dword [eax + 0x48], ebx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, 1
jmp 0x630200
inc ebx
mov eax, dword [esp + 0x74]
cmp ebx, edx
jge 0x6302cb
lea ebp, [ecx + ebx*8]
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
jmp 0x630358
mov eax, dword [esp + 0x74]
jmp 0x63037d
lea eax, [ecx + ebx*8 + 4]
mov dword [eax], edi
mov eax, dword [0x9aef70]
test eax, eax
jne 0x630233
test edi, edi
jmp 0x63024a
mov eax, edi
call fcn.0046c8a0
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 0x6301fb
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x38], ebx
mov dword [esp], esi
mov dword [esp + 4], edi
lea eax, [0x6cf9b6]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004d3870
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa4], edx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x3c], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0060d6b0
movzx eax, byte [esp + 0x10]
test al, al
je 0x6302ba
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x3c]
xor eax, eax
jmp 0x6303a4
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x44]
cmp edx, ecx
jb 0x6302e1
mov ebx, dword [esp + 0xa8]
jmp 0x630320
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6a05e0]
mov dword [esp + 0x10], eax
call fcn.004508b0
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 [0x9aef70]
test ebp, ebp
je 0x630338
call fcn.0046c8a0
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, ecx
mov ecx, edx
mov edx, ebx
jmp 0x62fe07
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 0x63037d
movzx eax, byte [esi]
cmp al, 0x20
je 0x630347
cmp al, 9
je 0x630347
cmp al, 0xa
je 0x630347
cmp al, 0xd
je 0x630347
jmp 0x630216
dec edi
mov eax, dword [esp + 0x74]
test edi, edi
je 0x63021f
movzx eax, byte [edi + esi - 1]
cmp al, 0x20
je 0x630378
cmp al, 9
je 0x630378
cmp al, 0xa
je 0x630378
cmp al, 0xd
je 0x630378
jmp 0x63021f
inc eax
cmp eax, edx
jge 0x6303dd
movzx ebx, byte [eax + ecx]
lea ebp, [ebx - 0x20]
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
jae 0x6303d1
cmp bl, 0x22
je 0x6303cd
cmp bl, 0x3b
je 0x6303c9
cmp bl, 0x5c
jne 0x6303a3
cmp eax, edx
jmp 0x6303d3
cmp eax, edx
jmp 0x6303d3
cmp eax, edx
jmp 0x6303d3
cmp eax, edx
mov ecx, 0
mov edx, 0
jge 0x6304a1
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 + 0xb8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
cmp ecx, edx
jae 0x63046b
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x50], esi
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6929c0]
mov dword [esp + 0x10], eax
call fcn.004508b0
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 [0x9aef70]
test eax, eax
je 0x630459
call fcn.0046c8a0
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 + 0xbc]
mov esi, dword [esp + 0x50]
mov ebx, ecx
mov dword [eax + 0x54], edx
lea ecx, [ebx + edx*8 - 4]
mov dword [ecx], esi
mov ecx, dword [0x9aef70]
lea edx, [ebx + edx*8 - 8]
test ecx, ecx
je 0x63048e
call fcn.0046c8a0
mov dword [edi], ebp
mov ecx, dword [edx]
mov dword [edi + 4], ecx
mov dword [edx], ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
cmp ebx, 6
jg 0x630574
cmp ebx, 4
jne 0x6304f6
cmp dword [ebp], 0x68746170
jne 0x630938
mov eax, dword [esp + 0x74]
mov dword [eax + 0x14], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x6304e2
call fcn.0046c8a0
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 + 0x38]
jmp 0x6301fb
cmp ebx, 6
jne 0x630938
cmp dword [ebp], 0x616d6f64
jne 0x630542
cmp word [ebp + 4], 0x6e69
jne 0x630542
mov eax, dword [esp + 0x74]
mov dword [eax + 0x1c], edx
mov edx, dword [0x9aef70]
test edx, edx
je 0x63052e
call fcn.0046c8a0
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 + 0x38]
jmp 0x6301fb
cmp dword [ebp], 0x75636573
jne 0x630938
cmp word [ebp + 4], 0x6572
jne 0x630938
mov eax, dword [esp + 0x74]
mov byte [eax + 0x40], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
cmp ebx, 7
jne 0x63083a
mov dword [esp + 0x3c], edx
mov dword [esp + 0xa4], ecx
cmp dword [ebp], 0x69707865
jne 0x6307b9
cmp word [ebp + 4], 0x6572
jne 0x6307b9
cmp byte [ebp + 6], 0x73
jne 0x6307b9
mov ebx, dword [esp + 0x74]
mov dword [ebx + 0x38], edx
mov ebp, dword [0x9aef70]
test ebp, ebp
je 0x6305c9
call fcn.0046c8a0
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.0046cb2b
lea ecx, [0x6daac6]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov ebp, dword [esp + 0xa4]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
call fcn.004acce0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0xc8]
lea esi, [esp + 0x10]
call fcn.0046d00e
lea edi, [esp + 0x78]
lea esi, [esp + 0xc8]
call fcn.0046d00e
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x6306db
lea edi, [esp + 0xc8]
xor eax, eax
call fcn.0046cb2b
lea ecx, [0x6daae3]
mov dword [esp], ecx
mov dword [esp + 4], 0x1d
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
call fcn.004acce0
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0xc8]
lea esi, [esp + 0x10]
call fcn.0046d00e
lea edi, [esp + 0x78]
lea esi, [esp + 0xc8]
call fcn.0046d00e
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x6306db
mov ecx, dword [0x9aef70]
mov edx, dword [esp + 0x74]
lea edi, [edx + 0x20]
test ecx, ecx
je 0x6306cf
mov dword [esp + 0xb4], edi
lea eax, [0x6cce60]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.004127d0
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xb4]
xor eax, eax
call fcn.0046cb2b
jmp 0x63093c
lea edi, [esp + 0x8c]
lea esi, [esp + 0x78]
call fcn.0046d00e
mov eax, dword [esp + 0x90]
nop
nop
test eax, 0x80000000
je 0x630747
mov ecx, dword [esp + 0x8c]
mov edx, ecx
shl ecx, 1
shl eax, 1
shr edx, 0x1f
or edx, eax
mov eax, edx
shl edx, 1
shr ecx, 0x1f
or ecx, edx
shr eax, 0x1f
nop
add ecx, 0xd7b17f80
mov dword [esp + 0x94], ecx
adc eax, 0xd
mov dword [esp + 0x98], eax
and dword [esp + 0x8c], 0x3fffffff
mov dword [esp + 0x90], 0
mov dword [esp + 0x9c], 0
lea edi, [esp + 0x60]
lea esi, [esp + 0x8c]
call fcn.0046d00e
mov eax, dword [0x9aef70]
mov ecx, dword [esp + 0x74]
lea edi, [ecx + 0x20]
test eax, eax
je 0x63079f
mov dword [esp + 0xb4], edi
lea eax, [0x6cce60]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00412800
mov ecx, dword [esp + 0x74]
mov edi, dword [esp + 0xb4]
lea esi, [esp + 0x60]
call fcn.0046d00e
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
cmp dword [ebp], 0x2d78616d
jne 0x630938
cmp word [ebp + 4], 0x6761
jne 0x630938
cmp byte [ebp + 6], 0x65
jne 0x630938
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0047f480
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x630810
mov edx, dword [esp + 8]
test edx, edx
je 0x63081d
mov ebx, dword [esp + 0x3c]
test ebx, ebx
jbe 0x6309fa
mov eax, dword [esp + 0xa4]
cmp byte [eax], 0x30
jne 0x630819
mov edx, dword [esp + 0x74]
jmp 0x63093c
test edx, edx
jg 0x630822
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 + 0x38]
jmp 0x6301fb
cmp ebx, 8
jne 0x630938
cmp dword [ebp], 0x70747468
jne 0x63086e
cmp dword [ebp + 4], 0x796c6e6f
jne 0x63086e
mov eax, dword [esp + 0x74]
mov byte [eax + 0x41], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
cmp dword [ebp], 0x656d6173
jne 0x630938
cmp dword [ebp + 4], 0x65746973
jne 0x630938
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0060d6b0
movzx eax, byte [esp + 0x10]
test al, al
je 0x63091c
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
cmp eax, 3
jne 0x6308c4
cmp word [ecx], 0x616c
jne 0x630900
cmp byte [ecx + 2], 0x78
jne 0x630900
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 2
jmp 0x63090b
cmp eax, 4
jne 0x6308de
cmp dword [ecx], 0x656e6f6e
jne 0x630900
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 4
jmp 0x63090b
cmp eax, 6
jne 0x630900
cmp dword [ecx], 0x69727473
jne 0x630900
cmp word [ecx + 4], 0x7463
jne 0x630900
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 3
jmp 0x63090b
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
mov eax, dword [esp + 0x74]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
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 + 0xb8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
cmp eax, ecx
jae 0x6309c4
mov dword [esp + 0x50], esi
mov dword [esp + 0xbc], ebp
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6929c0]
mov dword [esp + 0x10], eax
call fcn.004508b0
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 [0x9aef70]
test eax, eax
je 0x6309ae
call fcn.0046c8a0
mov dword [edi], ecx
mov eax, dword [ebx + 0x50]
mov dword [edi + 4], eax
mov dword [ebx + 0x50], ecx
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x50]
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], esi
mov eax, dword [0x9aef70]
lea ecx, [ebx + ecx*8 - 8]
test eax, eax
je 0x6309e7
call fcn.0046c8a0
mov dword [edi], ebp
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
jmp 0x6301fb
xor eax, eax
mov ecx, eax
call fcn.0046c910
xor eax, eax
mov ecx, eax
call fcn.0046c910
nop
call fcn.0046b490
jmp fcn.0062fd10