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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x664b8d
sub esp, 0xac
mov edx, dword [esp + 0xb0]
mov dword [edx + 4], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], 0
mov dword [edx + 0x28], 0
mov dword [edx + 0x34], 0
mov dword [edx + 0x80], 0
mov dword [edx + 0x8c], 0
mov dword [edx + 0x40], 0
nop
mov dword [edx + 0x4c], 0
mov word [edx + 0x60], 0
nop
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
xor eax, eax
jmp 0x663ad7
inc eax
cmp ebp, eax
jle 0x663b14
jbe 0x664b85
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jb 0x663af3
xchg esi, eax
cmp al, 0x7f
xchg esi, eax
jne 0x663ad6
mov eax, dword [0x706ed0]
mov ecx, dword [0x706ed4]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x663b26
mov ecx, 1
jmp 0x663b81
mov eax, dword [0x7078b8]
mov ecx, dword [0x7078bc]
mov edx, dword [0x7078c0]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xc8]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0046f760
cmp dword [esp + 0x18], 0xffffffff
setne al
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
test cl, cl
jne 0x663b9f
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xc8]
jmp 0x663d12
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x14], eax
call fcn.00666ed0
nop
mov eax, dword [esp + 0x24]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x88], ebx
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x4c], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 0x50], esi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xb0]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0xc]
cmp edx, edi
jae 0x663c5c
mov dword [esp + 0x9c], eax
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], edi
mov dword [esp + 0xa8], ebx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00457450
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0xb0]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 0x14], edx
mov edx, dword [0x901e80]
test edx, edx
jne 0x663cb6
mov edx, dword [esp + 0xa8]
mov dword [eax + 0xc], edx
jmp 0x663cce
lea edi, [eax + 0xc]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov edx, eax
mov eax, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x663ce7
movzx ebp, byte [edx + ebx]
lea esi, [0x77cc7e]
movzx ebp, byte [ebp + esi]
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
inc ebx
cmp ebx, ecx
jge 0x663cf2
jb 0x663cd2
jmp 0x664b7e
mov edx, eax
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x68], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x6c], ecx
movzx edi, byte [esp + 0xcc]
xchg edi, eax
test al, al
xchg edi, eax
je 0x663e0d
mov edi, dword [0x70786c]
mov dword [esp + 0x70], edi
mov ebp, dword [0x707868]
mov ebx, dword [edx + 0x14]
mov ecx, dword [edx + 0xc]
cmp ebx, edi
jae 0x663d94
mov dword [esp + 0x98], ebp
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], edi
mov dword [esp + 0xa8], ecx
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
call fcn.00457450
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0xb0]
mov dword [eax + 0x10], ecx
mov edx, dword [esp + 0x84]
mov dword [eax + 0x14], edx
mov edx, dword [0x901e80]
test edx, edx
jne 0x663dee
mov edx, dword [esp + 0xa8]
mov dword [eax + 0xc], edx
jmp 0x663e06
lea edi, [eax + 0xc]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov edx, eax
mov eax, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x664b5b
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0x40
call fcn.00403350
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x664135
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jb 0x664b41
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x68]
cmp ebx, eax
jb 0x664b3a
mov dword [esp + 0x48], ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0x3a
call fcn.00403350
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
mov ecx, edx
sub edx, eax
dec edx
neg edx
sar edx, 0x1f
mov ebx, dword [esp + 0x84]
and ebx, edx
mov edx, dword [esp + 0x68]
sub edx, eax
mov dword [esp + 0x84], edx
mov ebp, dword [esp + 0x94]
add ebx, ebp
mov dword [esp + 0xa8], ebx
mov esi, dword [esp + 0x10]
test esi, esi
jl 0x664068
mov edi, dword [esp + 0xb0]
mov ebx, dword [edi + 0x84]
mov eax, dword [edi + 0x7c]
cmp ecx, esi
jb 0x664b31
mov dword [esp + 0x44], esi
cmp esi, ebx
jbe 0x663f05
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0xa4], eax
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x80], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x84], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x663f5f
mov edx, dword [esp + 0xa4]
mov dword [ecx + 0x7c], edx
jmp 0x663f6e
lea edi, [ecx + 0x7c]
mov eax, dword [esp + 0xa4]
call fcn.00456ac0
mov edx, dword [ecx + 0x90]
mov ebx, dword [ecx + 0x88]
mov ebp, dword [esp + 0x44]
lea eax, [ebp + 1]
mov esi, dword [esp + 0x48]
cmp esi, eax
jb 0x664b2a
mov edi, dword [esp + 0x6c]
sub edi, ebp
dec edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
sub esi, ebp
mov ebp, dword [esp + 0x94]
add eax, ebp
lea ebp, [esi - 1]
cmp edx, ebp
jb 0x663fb5
mov esi, ebp
jmp 0x663ff5
mov dword [esp + 0x78], ebp
mov dword [esp + 0xa4], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x78]
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x80], edx
mov dword [esp + 0x7c], ebp
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.00457450
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x8c], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x90], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x664051
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x88], eax
jmp 0x664122
lea edi, [ecx + 0x88]
mov eax, dword [esp + 0xa4]
call fcn.00456ac0
jmp 0x664122
mov ecx, dword [esp + 0xb0]
mov esi, dword [ecx + 0x84]
mov edi, dword [ecx + 0x7c]
cmp eax, esi
jbe 0x6640af
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x734860]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x94]
mov eax, ecx
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0xa4], edi
mov dword [esp], edi
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x80], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x84], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x664109
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x7c], eax
jmp 0x664118
lea edi, [ecx + 0x7c]
mov eax, dword [esp + 0xa4]
call fcn.00456ac0
mov dword [ecx + 0x8c], 0
mov edx, dword [esp + 0x84]
lea eax, [edx - 1]
mov edx, dword [esp + 0xa8]
jmp 0x664147
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x94]
mov ebx, dword [ecx + 0x40]
lea ebp, [ebx + eax]
mov esi, dword [ecx + 0x44]
mov edi, dword [ecx + 0x3c]
cmp esi, ebp
jae 0x6641ab
mov dword [esp + 0x84], eax
mov dword [esp + 0xa8], edx
mov dword [esp + 0x80], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x734860]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], ebp
mov dword [esp + 0xa8], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00457450
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x40], eax
mov edx, dword [esp + 0x84]
mov dword [ecx + 0x44], edx
mov ebx, dword [0x901e80]
lea edi, [ecx + 0x3c]
mov dword [esp + 0xa0], edi
test ebx, ebx
jne 0x66420e
mov ebx, dword [esp + 0xa8]
mov dword [ecx + 0x3c], ebx
jmp 0x664222
mov ebx, eax
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov ebp, eax
mov eax, ebx
mov ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00664ba0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
test eax, eax
jne 0x66427c
mov edx, dword [esp + 0xb0]
mov dword [edx + 0x40], esi
mov dword [edx + 0x44], ebp
mov ebp, dword [0x901e80]
test ebp, ebp
jne 0x66426a
mov dword [edx + 0x3c], ebx
jmp 0x664278
mov edi, dword [esp + 0xa0]
mov eax, ebx
call fcn.00456ac0
xor eax, eax
jmp 0x6642a8
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
add esp, 0xac
ret
movzx ebp, byte [eax + ebx]
lea edi, [0x77cc7e]
movzx ebp, byte [ebp + edi]
xchg ebp, ecx
mov byte [ebx + eax], cl
xchg ebp, ecx
inc eax
cmp eax, esi
jge 0x6642b3
jb 0x664291
jmp 0x664b23
nop
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0x3f
call fcn.00403350
nop
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 0x23
call fcn.00403350
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x66431c
mov eax, dword [esp + 0x40]
cmp ecx, eax
jge 0x664320
mov eax, 0xffffffff
jmp 0x664320
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
test eax, eax
jge 0x6646b8
test ecx, ecx
jge 0x66446f
mov eax, dword [esp + 0xb0]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x54]
lea ebx, [ecx + edx]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebp, ebx
jae 0x66438a
mov dword [esp + 0x84], ecx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], ebx
mov dword [esp + 0xa8], esi
lea eax, [esi + ecx]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0xb0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x84]
mov dword [edi + 8], ecx
mov edx, dword [0x901e80]
test edx, edx
jne 0x6643e9
mov edx, dword [esp + 0xa8]
mov dword [edi], edx
jmp 0x6643fd
mov edx, eax
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov ebx, eax
mov eax, edx
mov edx, ebx
mov ebx, dword [edi + 0x18]
mov ebp, dword [edi + 0x1c]
mov esi, dword [edi + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.00665c60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xb0]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], edx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x66444a
mov dword [ebx + 0x18], eax
jmp 0x664452
lea edi, [ebx + 0x18]
call fcn.00456ac0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xac
ret
test eax, eax
jge 0x6646b8
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x664b1e
mov eax, dword [esp + 0xb0]
mov ebx, dword [eax + 4]
lea ebp, [ebx + ecx]
mov esi, dword [eax + 8]
mov edi, dword [eax]
cmp esi, ebp
jae 0x6644d5
mov dword [esp + 0x84], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], ebp
mov dword [esp + 0xa8], edi
lea eax, [edi + ebx]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0xb0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x84]
mov dword [edi + 8], ecx
mov edx, dword [0x901e80]
test edx, edx
jne 0x664534
mov edx, dword [esp + 0xa8]
mov dword [edi], edx
jmp 0x664548
mov edx, eax
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov ebx, eax
mov eax, edx
mov edx, ebx
mov ebx, dword [edi + 0x18]
mov ebp, dword [edi + 0x1c]
mov esi, dword [edi + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.00665c60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xb0]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], edx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x664595
mov dword [ebx + 0x18], eax
jmp 0x66459d
lea edi, [ebx + 0x18]
call fcn.00456ac0
mov edx, dword [esp + 0x3c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jb 0x664b19
mov ebp, dword [ebx + 0x38]
mov esi, dword [ebx + 0x30]
mov edi, dword [ebx + 0x34]
sub ecx, edx
mov ebx, dword [esp + 0x58]
sub ebx, edx
lea edx, [ebx - 1]
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x8c]
add eax, edx
lea edx, [ecx - 1]
lea ecx, [edi + ecx - 1]
cmp ebp, ecx
jae 0x664633
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], edx
mov dword [esp + 0xa8], eax
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x80], ecx
mov dword [esp + 0xa8], esi
lea ebx, [esi + edi]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 0x38], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x66468c
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x30], eax
jmp 0x66469b
lea edi, [ecx + 0x30]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xac
ret
mov edx, dword [esp + 0x58]
cmp eax, edx
ja 0x664b12
mov dword [esp + 0x64], eax
mov ebx, dword [esp + 0xb0]
mov ebp, dword [ebx + 4]
lea esi, [eax + ebp]
mov edi, dword [ebx + 8]
mov edx, dword [ebx]
cmp edi, esi
jae 0x66471a
mov dword [esp + 0x84], ebp
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
lea ecx, [0x734860]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x84], edi
mov dword [esp + 0x80], esi
mov dword [esp + 0xa8], edx
lea ecx, [edx + ebp]
mov dword [esp], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00457450
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0xb0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x84]
mov dword [edi + 8], ecx
mov edx, dword [0x901e80]
test edx, edx
jne 0x664779
mov edx, dword [esp + 0xa8]
mov dword [edi], edx
jmp 0x66478d
mov edx, eax
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov ebx, eax
mov eax, edx
mov edx, ebx
mov ebx, dword [edi + 0x18]
mov ebp, dword [edi + 0x1c]
mov esi, dword [edi + 0x20]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.00665c60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xb0]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x20], edx
mov ecx, dword [0x901e80]
test ecx, ecx
jne 0x6647e0
mov dword [ebx + 0x18], eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jmp 0x6647ee
lea edi, [ebx + 0x18]
call fcn.00456ac0
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jge 0x6648f1
mov edx, dword [esp + 0x64]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jb 0x664b0d
mov ebp, dword [ebx + 0x28]
mov dword [esp + 0x84], ebp
sub ecx, edx
lea esi, [ebp + ecx - 1]
mov edi, dword [ebx + 0x2c]
mov ebx, dword [ebx + 0x24]
mov ebp, dword [esp + 0x58]
sub ebp, edx
lea edx, [ebp - 1]
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x8c]
add eax, edx
dec ecx
cmp edi, esi
jae 0x664881
mov dword [esp + 0x80], ecx
mov dword [esp + 0xa8], eax
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0xa8], ebx
mov edx, dword [esp + 0x84]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x2c], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x6648dd
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x24], eax
jmp 0x664adf
lea edi, [ecx + 0x24]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
jmp 0x664adf
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x664b08
mov ebp, dword [esp + 0x64]
lea eax, [ebp + 1]
cmp ecx, eax
jb 0x664b03
mov esi, dword [ebx + 0x28]
mov dword [esp + 0x84], esi
sub ecx, ebp
lea edi, [ecx + esi - 1]
mov esi, dword [ebx + 0x2c]
mov ebx, dword [ebx + 0x24]
sub edx, ebp
dec edx
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x8c]
add eax, edx
dec ecx
cmp esi, edi
jae 0x664980
mov dword [esp + 0x80], ecx
mov dword [esp + 0xa8], eax
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x80], edi
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x7c], esi
mov edx, dword [esp + 0x84]
add edx, ebx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00457450
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x2c], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x6649d9
mov edx, dword [esp + 0xa8]
mov dword [ecx + 0x24], edx
jmp 0x6649e8
lea edi, [ecx + 0x24]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov edx, dword [esp + 0x3c]
lea eax, [edx + 1]
mov ebx, dword [esp + 0x54]
cmp ebx, eax
jb 0x664afc
mov ebp, dword [ecx + 0x34]
mov dword [esp + 0x84], ebp
sub ebx, edx
lea esi, [ebp + ebx - 1]
mov edi, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x30]
mov ebp, dword [esp + 0x58]
sub ebp, edx
lea edx, [ebp - 1]
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x8c]
add eax, edx
lea edx, [ebx - 1]
cmp edi, esi
jae 0x664a77
mov dword [esp + 0x80], edx
mov dword [esp + 0xa8], eax
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
lea eax, [0x734860]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x80], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0xa8], ecx
mov ebx, dword [esp + 0x84]
add ebx, ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00457450
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0x34], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x38], eax
mov eax, dword [0x901e80]
test eax, eax
jne 0x664ad0
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x30], eax
jmp 0x664adf
lea edi, [ecx + 0x30]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
add esp, 0xac
ret
mov ecx, ebx
call fcn.00456ba0
call fcn.00456ba0
call fcn.00456b80
call fcn.00456ba0
mov ecx, eax
call fcn.00456b80
call fcn.00456ba0
call fcn.00456b80
mov ecx, esi
call fcn.00456b40
mov ecx, esi
call fcn.00456ba0
mov edx, ecx
mov ecx, esi
call fcn.00456b80
mov ecx, ebx
call fcn.00456ba0
call fcn.00456b80
movzx ebp, byte [edx + ebx]
lea esi, [0x77cc7e]
movzx ebp, byte [ebp + esi]
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
inc ebx
cmp ebx, ecx
jge 0x664b63
jb 0x664b46
jmp 0x664b77
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x94]
jmp 0x663e0d
mov eax, ebx
call fcn.00456b40
mov eax, ebx
call fcn.00456b40
mov ecx, ebp
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00663a50