Function at 0x663a70
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 0x664bad
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 0x663af7
inc eax
cmp ebp, eax
jle 0x663b34
jbe 0x664ba5
movzx esi, byte [eax + ebx]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jb 0x663b13
xchg esi, eax
cmp al, 0x7f
xchg esi, eax
jne 0x663af6
mov eax, dword [0x706df0]
mov ecx, dword [0x706df4]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], ecx
add esp, 0xac
ret
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x663b46
mov ecx, 1
jmp 0x663ba1
mov eax, dword [0x707968]
mov ecx, dword [0x70796c]
mov edx, dword [0x707970]
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 0x663bbf
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0xc8]
jmp 0x663d32
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.00666ef0
nop
mov eax, dword [esp + 0x24]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x94], ebx
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 0x64], esi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x50], 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 0x663c7c
mov dword [esp + 0x8c], eax
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x7347e0]
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 + 0x8c]
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 + 0x50]
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 [0x900e70]
test edx, edx
jne 0x663cd6
mov edx, dword [esp + 0xa8]
mov dword [eax + 0xc], edx
jmp 0x663cee
lea edi, [eax + 0xc]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov edx, eax
mov eax, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x663d07
movzx ebp, byte [edx + ebx]
lea esi, [0x77c9de]
movzx ebp, byte [ebp + esi]
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
inc ebx
cmp ebx, ecx
jge 0x663d12
jb 0x663cf2
jmp 0x664b9e
mov edx, eax
mov ecx, dword [esp + 0x6c]
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x70], eax
mov dword [esp + 0x9c], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x90], ebx
mov dword [esp + 0x74], ecx
movzx edi, byte [esp + 0xcc]
xchg edi, eax
test al, al
xchg edi, eax
je 0x663e2d
mov edi, dword [0x7079dc]
mov dword [esp + 0x4c], edi
mov ebp, dword [str.https]
mov ebx, dword [edx + 0x14]
mov ecx, dword [edx + 0xc]
cmp ebx, edi
jae 0x663db4
mov dword [esp + 0x88], ebp
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
lea eax, [0x7347e0]
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 + 0x88]
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 + 0x4c]
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 [0x900e70]
test edx, edx
jne 0x663e0e
mov edx, dword [esp + 0xa8]
mov dword [eax + 0xc], edx
jmp 0x663e26
lea edi, [eax + 0xc]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
mov edx, eax
mov eax, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x664b7b
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 0x664155
mov edx, dword [esp + 0x74]
cmp edx, ecx
jb 0x664b61
lea eax, [ecx + 1]
mov ebx, dword [esp + 0x70]
cmp ebx, eax
jb 0x664b5a
mov dword [esp + 0x48], ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x9c]
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 + 0x74]
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 + 0x70]
sub edx, eax
mov dword [esp + 0x84], edx
mov ebp, dword [esp + 0x9c]
add ebx, ebp
mov dword [esp + 0xa8], ebx
mov esi, dword [esp + 0x10]
test esi, esi
jl 0x664088
mov edi, dword [esp + 0xb0]
mov ebx, dword [edi + 0x84]
mov eax, dword [edi + 0x7c]
cmp ecx, esi
jb 0x664b51
mov dword [esp + 0x44], esi
cmp esi, ebx
jbe 0x663f25
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
lea eax, [0x7347e0]
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 + 0x9c]
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 [0x900e70]
test eax, eax
jne 0x663f7f
mov edx, dword [esp + 0xa4]
mov dword [ecx + 0x7c], edx
jmp 0x663f8e
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 0x664b4a
mov edi, dword [esp + 0x74]
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 + 0x9c]
add eax, ebp
lea ebp, [esi - 1]
cmp edx, ebp
jb 0x663fd5
mov esi, ebp
jmp 0x664015
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, [0x7347e0]
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 [0x900e70]
test eax, eax
jne 0x664071
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x88], eax
jmp 0x664142
lea edi, [ecx + 0x88]
mov eax, dword [esp + 0xa4]
call fcn.00456ac0
jmp 0x664142
mov ecx, dword [esp + 0xb0]
mov esi, dword [ecx + 0x84]
mov edi, dword [ecx + 0x7c]
cmp eax, esi
jbe 0x6640cf
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x7347e0]
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 + 0x9c]
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 [0x900e70]
test eax, eax
jne 0x664129
mov eax, dword [esp + 0xa4]
mov dword [ecx + 0x7c], eax
jmp 0x664138
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 0x664167
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x9c]
mov ebx, dword [ecx + 0x40]
lea ebp, [ebx + eax]
mov esi, dword [ecx + 0x44]
mov edi, dword [ecx + 0x3c]
cmp esi, ebp
jae 0x6641cb
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, [0x7347e0]
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 [0x900e70]
lea edi, [ecx + 0x3c]
mov dword [esp + 0xa0], edi
test ebx, ebx
jne 0x66422e
mov ebx, dword [esp + 0xa8]
mov dword [ecx + 0x3c], ebx
jmp 0x664242
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.00664bc0
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 0x66429c
mov edx, dword [esp + 0xb0]
mov dword [edx + 0x40], esi
mov dword [edx + 0x44], ebp
mov ebp, dword [0x900e70]
test ebp, ebp
jne 0x66428a
mov dword [edx + 0x3c], ebx
jmp 0x664298
mov edi, dword [esp + 0xa0]
mov eax, ebx
call fcn.00456ac0
xor eax, eax
jmp 0x6642c8
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], edx
add esp, 0xac
ret
movzx ebp, byte [eax + ebx]
lea edi, [0x77c9de]
movzx ebp, byte [ebp + edi]
xchg ebp, ecx
mov byte [ebx + eax], cl
xchg ebp, ecx
inc eax
cmp eax, esi
jge 0x6642d3
jb 0x6642b1
jmp 0x664b43
nop
mov eax, dword [esp + 0x90]
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 + 0x90]
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 0x66433c
mov eax, dword [esp + 0x40]
cmp ecx, eax
jge 0x664340
mov eax, 0xffffffff
jmp 0x664340
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], ecx
test eax, eax
jge 0x6646d8
test ecx, ecx
jge 0x66448f
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 0x6643aa
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, [0x7347e0]
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 + 0x90]
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 [0x900e70]
test edx, edx
jne 0x664409
mov edx, dword [esp + 0xa8]
mov dword [edi], edx
jmp 0x66441d
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.00665c80
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 [0x900e70]
test ecx, ecx
jne 0x66446a
mov dword [ebx + 0x18], eax
jmp 0x664472
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 0x6646d8
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x664b3e
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 0x6644f5
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, [0x7347e0]
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 + 0x90]
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 [0x900e70]
test edx, edx
jne 0x664554
mov edx, dword [esp + 0xa8]
mov dword [edi], edx
jmp 0x664568
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.00665c80
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 [0x900e70]
test ecx, ecx
jne 0x6645b5
mov dword [ebx + 0x18], eax
jmp 0x6645bd
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 0x664b39
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 + 0x90]
add eax, edx
lea edx, [ecx - 1]
lea ecx, [edi + ecx - 1]
cmp ebp, ecx
jae 0x664653
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, [0x7347e0]
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 [0x900e70]
test eax, eax
jne 0x6646ac
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x30], eax
jmp 0x6646bb
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 0x664b32
mov dword [esp + 0x5c], 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 0x66473a
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, [0x7347e0]
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 + 0x5c]
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 + 0x90]
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 [0x900e70]
test edx, edx
jne 0x664799
mov edx, dword [esp + 0xa8]
mov dword [edi], edx
jmp 0x6647ad
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.00665c80
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 [0x900e70]
test ecx, ecx
jne 0x664800
mov dword [ebx + 0x18], eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jmp 0x66480e
lea edi, [ebx + 0x18]
call fcn.00456ac0
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jge 0x664911
mov edx, dword [esp + 0x5c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jb 0x664b2d
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 + 0x90]
add eax, edx
dec ecx
cmp edi, esi
jae 0x6648a1
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, [0x7347e0]
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 [0x900e70]
test eax, eax
jne 0x6648fd
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x24], eax
jmp 0x664aff
lea edi, [ecx + 0x24]
mov eax, dword [esp + 0xa8]
call fcn.00456ac0
jmp 0x664aff
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x664b28
mov ebp, dword [esp + 0x5c]
lea eax, [ebp + 1]
cmp ecx, eax
jb 0x664b23
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 + 0x90]
add eax, edx
dec ecx
cmp esi, edi
jae 0x6649a0
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, [0x7347e0]
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 [0x900e70]
test eax, eax
jne 0x6649f9
mov edx, dword [esp + 0xa8]
mov dword [ecx + 0x24], edx
jmp 0x664a08
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 0x664b1c
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 + 0x90]
add eax, edx
lea edx, [ebx - 1]
cmp edi, esi
jae 0x664a97
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, [0x7347e0]
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 [0x900e70]
test eax, eax
jne 0x664af0
mov eax, dword [esp + 0xa8]
mov dword [ecx + 0x30], eax
jmp 0x664aff
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, [0x77c9de]
movzx ebp, byte [ebp + esi]
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
inc ebx
cmp ebx, ecx
jge 0x664b83
jb 0x664b66
jmp 0x664b97
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov esi, dword [esp + 0x9c]
jmp 0x663e2d
mov eax, ebx
call fcn.00456b40
mov eax, ebx
call fcn.00456b40
mov ecx, ebp
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.00663a70