Function at 0x6528f0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xd8]
cmp eax, dword [ecx + 8]
jbe 0x655a22
sub esp, 0x158
mov eax, dword [esp + 0x15c]
mov ebx, dword [eax + 0x14]
test ebx, ebx
je 0x65401f
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
mov ecx, ebx
sub ebx, ebp
sar ecx, 5
sub ebx, ecx
cmp ebx, 0x10
jge 0x6529c4
mov ecx, dword [esp + 0x160]
test ecx, ecx
je 0x6529a3
lea edi, [eax + 0x64]
lea esi, [eax + 0x70]
nop
call fcn.00468bf2
mov dword [esp], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x16d]
mov byte [esp + 0x10], al
call fcn.00651fc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
add esp, 0x158
ret
mov eax, dword [0x9a42a0]
mov ecx, dword [0x9a42a4]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
add esp, 0x158
ret
mov dword [esp + 0x70], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
movzx ebx, byte [eax + 0x7c]
test bl, bl
je 0x6529f4
mov dword [esp + 0x70], 1
jmp 0x6529fc
mov dword [esp + 0x70], 0
mov ebx, dword [esp + 0x70]
and ebx, 0xfffff9
or ebx, 4
nop
mov dword [esp + 0x70], ebx
mov ebp, dword [eax + 0x5c]
mov dword [esp + 0x74], ebp
mov esi, dword [eax + 0x60]
lea edi, [ebp + 3]
mov ecx, dword [eax + 0x58]
cmp esi, edi
jae 0x652a69
mov dword [esp + 0xa4], ebx
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 3
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x15c]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x74]
mov byte [edi + ecx - 3], bl
shr ebx, 8
mov word [edi + ecx - 2], bx
mov dword [eax + 0x5c], edi
mov dword [eax + 0x60], esi
mov ebx, dword [0x9eca70]
test ebx, ebx
je 0x652a92
call fcn.00468460
mov dword [edi], ecx
mov ebx, dword [eax + 0x58]
mov dword [edi + 4], ebx
mov dword [eax + 0x58], ecx
mov ebx, dword [eax + 0x38]
test ebx, ebx
je 0x652bc4
mov dword [esp + 0x118], ebx
mov esi, dword [eax + 0x34]
mov dword [esp + 0xc4], esi
mov edi, dword [ebx + 0x44c]
cmp dword [esi + 0x450], edi
jge 0x652b30
lea eax, [0x6fcd80]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x100
call fcn.0044e0b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov dword [ecx + 0x44c], 0
mov dword [ecx + 0x450], 0x100
mov edx, dword [0x9eca70]
test edx, edx
je 0x652b16
call fcn.00468460
mov dword [edi], eax
mov ebx, dword [ecx + 0x448]
mov dword [edi + 4], ebx
mov dword [ecx + 0x448], eax
mov eax, dword [esp + 0x15c]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x74]
mov esi, ecx
mov edx, dword [esi + 0x450]
mov ecx, dword [ebx + 0x44c]
cmp ecx, edx
ja 0x655a1c
mov dword [esi + 0x44c], ecx
mov edx, dword [ebx + 0x44c]
cmp edx, ecx
jl 0x652b56
mov edx, ecx
mov ecx, dword [esi + 0x448]
mov edi, dword [ebx + 0x448]
cmp ecx, edi
je 0x652b92
mov dword [esp], ecx
mov dword [esp + 4], edi
shl edx, 2
mov dword [esp + 8], edx
call fcn.00468df0
mov eax, dword [esp + 0x15c]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0xc4]
movzx ecx, byte [ebx + 0x446]
mov byte [esi + 0x446], cl
mov ecx, dword [eax + 0x34]
mov byte [ecx + 0x43a], 0
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x652bbd
mov ecx, dword [eax + 0x38]
call fcn.00468450
mov dword [edi], ecx
mov dword [eax + 0x38], 0
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
cmp ecx, 0x400
jl 0x652c29
movzx esi, byte [esp + 0x16c]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x652c31
mov ebp, dword [eax + 0x34]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0063e320
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
xor esi, esi
mov edi, ebp
mov dword [esp + 0xc8], ebx
mov ebp, dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0x15c]
jmp 0x652ca2
movzx esi, byte [esp + 0x16c]
cmp ecx, 0x20
jle 0x652c85
xchg esi, eax
test al, al
xchg esi, eax
jne 0x652c85
mov ebp, dword [eax + 0x34]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0063e220
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, 1
mov edi, ebp
mov dword [esp + 0xc8], ebx
mov ebp, dword [esp + 0x74]
mov ebx, eax
mov eax, dword [esp + 0x15c]
jmp 0x652ca2
mov ecx, dword [0x9a44b0]
mov edx, dword [0x9a44b4]
xor ebx, ebx
xor esi, esi
xor edi, edi
xor ebx, ebx
mov dword [esp + 0xc8], ebx
xor ebx, ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0xd8], edx
xchg esi, eax
mov byte [esp + 0x2e], al
xchg esi, eax
mov byte [esp + 0x2f], bl
cmp dword [0x9a44b0], ecx
jne 0x652d0a
mov eax, dword [0x9a44b4]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00404340
movzx eax, byte [esp + 0xc]
test al, al
jne 0x653018
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd8]
movzx ebx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x74]
movzx esi, byte [esp + 0x2e]
mov edi, dword [esp + 0x3c]
cmp dword [0x9a44b8], ecx
jne 0x652d59
mov eax, dword [0x9a44bc]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00404340
movzx eax, byte [esp + 0xc]
test al, al
jne 0x652ef3
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0xd8]
movzx ebx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x74]
movzx esi, byte [esp + 0x2e]
mov edi, dword [esp + 0x3c]
test ecx, ecx
jne 0x652ede
test bl, bl
je 0x652d6f
or dword [esp + 0xa8], 3
jmp 0x652d84
mov ecx, dword [esp + 0xa8]
and ecx, 0xfffffffc
or ecx, 2
nop
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 8]
lea edx, [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
xchg esi, eax
mov byte [esp + 0xc], al
xchg esi, eax
call fcn.00651740
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x5c]
mov esi, dword [edx + 0x60]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00651940
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x60], eax
mov ebp, dword [0x9eca70]
mov esi, dword [esp + 0x3c]
lea edi, [esi + ecx]
test ebp, ebp
je 0x652e19
mov ebp, edi
call fcn.00468460
mov dword [edi], edx
mov esi, dword [ebx + 0x58]
mov dword [edi + 4], esi
mov esi, dword [esp + 0x3c]
mov edi, ebp
mov dword [ebx + 0x58], edx
cmp eax, edi
jae 0x652e5c
mov dword [esp + 0xa0], ecx
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], edi
mov dword [esp + 0x114], edx
add ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp + 0xc8]
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00468df0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x15c]
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x60], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x652eb8
mov eax, dword [esp + 0x114]
jmp 0x652ecc
call fcn.00468460
mov eax, dword [esp + 0x114]
mov dword [edi], eax
mov edx, dword [ecx + 0x58]
mov dword [edi + 4], edx
mov dword [ecx + 0x58], eax
mov eax, dword [ecx + 0x34]
mov byte [eax + 0x43a], 0
jmp 0x653175
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], edx
add esp, 0x158
ret
mov eax, dword [esp + 0xa8]
and eax, 0xfffffffc
or eax, 1
nop
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 8]
lea edx, [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.006515e0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x5c]
mov esi, dword [edx + 0x60]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00651940
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x60], eax
mov ebp, dword [0x9eca70]
test ebp, ebp
je 0x652f8b
call fcn.00468460
mov dword [edi], edx
mov ebp, dword [ebx + 0x58]
mov dword [edi + 4], ebp
mov dword [ebx + 0x58], edx
mov ebp, dword [ebx + 8]
test ebp, ebp
jbe 0x655a13
inc ecx
mov ebp, dword [ebx + 4]
movzx ebp, byte [ebp]
cmp eax, ecx
jae 0x653008
xchg ebp, eax
mov byte [esp + 0x37], al
xchg ebp, eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x60], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x652ffa
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x58]
mov dword [edi + 4], eax
mov dword [ebx + 0x58], ecx
movzx ebp, byte [esp + 0x37]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [ebx + 0x5c], ecx
xchg ebp, eax
mov byte [ecx + edx - 1], al
xchg ebp, eax
mov ecx, ebx
jmp 0x653175
nop
and dword [esp + 0xa8], 0xfffffffc
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 8]
lea edx, [esp + 0xa8]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.006515e0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x5c]
mov esi, dword [edx + 0x60]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00651940
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x5c], ecx
mov dword [ebx + 0x60], eax
mov ebp, dword [0x9eca70]
test ebp, ebp
je 0x6530a4
call fcn.00468460
mov dword [edi], edx
mov ebp, dword [ebx + 0x58]
mov dword [edi + 4], ebp
mov dword [ebx + 0x58], edx
mov ebp, dword [ebx + 8]
lea esi, [ebp + ecx]
mov edi, dword [ebx + 4]
cmp eax, esi
jae 0x653109
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x114], edi
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0x114]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], esi
mov dword [esp + 0x114], edx
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.00468df0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x15c]
mov dword [ecx + 0x5c], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0x60], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x65315e
mov eax, dword [esp + 0x114]
jmp 0x653172
call fcn.00468460
mov eax, dword [esp + 0x114]
mov dword [edi], eax
mov edx, dword [ecx + 0x58]
mov dword [edi + 4], edx
mov dword [ecx + 0x58], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0xa0], eax
cmp eax, 0x80
jge 0x653204
mov edx, dword [ecx + 0x60]
mov ebx, dword [ecx + 0x5c]
inc ebx
mov ebp, dword [ecx + 0x58]
cmp edx, ebx
jae 0x6531f8
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x60], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x6531e3
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x58]
mov dword [edi + 4], eax
mov dword [ebx + 0x58], ecx
mov eax, dword [esp + 0xa0]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x15c]
mov dword [ecx + 0x5c], ebx
mov byte [ebx + ebp - 1], al
jmp 0x653327
cmp eax, 0x7f00
jge 0x65329b
mov edx, dword [ecx + 0x60]
mov ebx, dword [ecx + 0x5c]
add ebx, 2
mov ebp, dword [ecx + 0x58]
cmp edx, ebx
jae 0x653283
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x60], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65326e
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x58]
mov dword [edi + 4], eax
mov dword [ebx + 0x58], ecx
mov eax, dword [esp + 0xa0]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x15c]
mov dword [ecx + 0x5c], ebx
mov edx, eax
sar eax, 8
add eax, 0xffffff80
mov byte [ebx + ebp - 2], al
mov byte [ebx + ebp - 1], dl
jmp 0x653327
mov edx, dword [ecx + 0x60]
mov ebx, dword [ecx + 0x5c]
add ebx, 3
mov ebp, dword [ecx + 0x58]
cmp edx, ebx
jae 0x65330f
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 3
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x60], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x6532fa
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x58]
mov dword [edi + 4], eax
mov dword [ebx + 0x58], ecx
mov eax, dword [esp + 0xa0]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x15c]
mov dword [ecx + 0x5c], ebx
mov byte [ebx + ebp - 3], 0xff
add eax, 0xffff8100
mov byte [ebx + ebp - 2], al
sar eax, 8
mov byte [ebx + ebp - 1], al
mov dword [esp], ecx
call fcn.00655a30
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0xd4], ecx
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x20]
mov dword [esp + 0xcc], ebx
mov ebp, dword [eax + 0x24]
mov dword [esp + 0xd0], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.006730d0
mov eax, dword [esp + 8]
test eax, eax
jne 0x654002
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xcc]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.006730d0
mov eax, dword [esp + 8]
test eax, eax
jne 0x653fe5
mov eax, dword [esp + 0x15c]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xd0]
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.006730d0
mov eax, dword [esp + 8]
test eax, eax
jne 0x653fc8
mov ebx, dword [esp + 0xd4]
movzx ebp, byte [ebx + 0x2e]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x653405
mov edx, dword [esp + 0x15c]
mov ebp, dword [edx + 0x14]
test ebp, ebp
jbe 0x655a0a
mov eax, dword [edx + 0x10]
movzx eax, byte [eax + 0xc]
mov dword [esp], ebx
mov byte [esp + 4], al
call fcn.00672dc0
mov eax, 0x40
mov ecx, dword [esp + 0xd4]
jmp 0x65343a
mov eax, dword [0x758f0c]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x28]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x9c7480]
mov dword [esp + 8], ebx
lea edx, [0x758f0c]
call eax
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0xc]
shl eax, 6
mov dword [esp + 0xd4], ecx
mov byte [esp + 0x31], al
mov ebx, dword [esp + 0xcc]
movzx ebp, byte [ebx + 0x2e]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x65348c
mov edx, dword [esp + 0x15c]
mov ebp, dword [edx + 0x14]
test ebp, ebp
jbe 0x655a01
mov eax, dword [edx + 0x10]
movzx eax, byte [eax + 0xe]
mov dword [esp], ebx
mov byte [esp + 4], al
call fcn.00672dc0
movzx eax, byte [esp + 0x31]
or eax, 0x10
mov ebx, dword [esp + 0xcc]
jmp 0x6534c8
mov eax, dword [0x758f0c]
mov ecx, dword [esp + 0x15c]
mov ebp, dword [ecx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x9c7ab4]
mov dword [esp + 8], ebx
lea edx, [0x758f0c]
call eax
movzx eax, byte [esp + 0x10]
shl eax, 4
mov ebx, dword [esp + 0xc]
movzx ecx, byte [esp + 0x31]
or eax, ecx
mov dword [esp + 0xcc], ebx
mov byte [esp + 0x31], al
mov ebp, dword [esp + 0xd0]
movzx esi, byte [ebp + 0x2e]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65351a
mov edx, dword [esp + 0x15c]
mov esi, dword [edx + 0x14]
test esi, esi
jbe 0x6559f8
mov eax, dword [edx + 0x10]
movzx eax, byte [eax + 0xd]
mov dword [esp], ebp
mov byte [esp + 4], al
call fcn.00672dc0
movzx eax, byte [esp + 0x31]
or eax, 4
mov ebp, dword [esp + 0xd0]
jmp 0x653556
mov eax, dword [0x758f0c]
mov ecx, dword [esp + 0x15c]
mov ebx, dword [ecx + 0x30]
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea ebx, [0x9c80e8]
mov dword [esp + 8], ebx
lea edx, [0x758f0c]
call eax
movzx eax, byte [esp + 0x10]
shl eax, 2
mov ebp, dword [esp + 0xc]
movzx ecx, byte [esp + 0x31]
or eax, ecx
mov dword [esp + 0xd0], ebp
mov ecx, dword [esp + 0x15c]
mov edx, dword [ecx + 0x60]
mov ebx, dword [ecx + 0x5c]
inc ebx
mov esi, dword [ecx + 0x58]
cmp edx, ebx
jae 0x6535d8
mov byte [esp + 0x31], al
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x60], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x6535c5
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x58]
mov dword [edi + 4], eax
mov dword [ebx + 0x58], ecx
movzx eax, byte [esp + 0x31]
mov ebx, edx
mov esi, ecx
mov ecx, dword [esp + 0x15c]
mov dword [ecx + 0x5c], ebx
mov byte [ebx + esi - 1], al
mov eax, dword [ecx + 0x58]
mov edx, dword [ecx + 0x5c]
mov ebx, dword [ecx + 0x60]
mov ebp, dword [esp + 0xd4]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00673c40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0xd8], esi
mov edi, dword [esp + 0x15c]
mov dword [edi + 0x5c], eax
mov dword [edi + 0x60], ecx
mov esi, dword [0x9eca70]
test esi, esi
je 0x653658
mov dword [esp + 0x110], ebp
mov esi, edi
call fcn.00468460
mov dword [edi], edx
mov ebp, dword [esi + 0x58]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x110]
mov edi, esi
mov dword [edi + 0x58], edx
test ebx, ebx
jne 0x653fac
mov ebx, dword [esp + 0xcc]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00673c40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0xd8], esi
mov edi, dword [esp + 0x15c]
mov dword [edi + 0x5c], eax
mov dword [edi + 0x60], ecx
mov esi, dword [0x9eca70]
test esi, esi
je 0x6536d3
mov dword [esp + 0x110], ebp
mov esi, edi
call fcn.00468460
mov dword [edi], edx
mov ebp, dword [esi + 0x58]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x110]
mov edi, esi
mov dword [edi + 0x58], edx
test ebx, ebx
jne 0x653f90
mov ebx, dword [esp + 0xd0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00673c40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov dword [esp + 0xd8], esi
mov edi, dword [esp + 0x15c]
mov dword [edi + 0x5c], eax
mov dword [edi + 0x60], ecx
mov esi, dword [0x9eca70]
test esi, esi
je 0x65374e
mov dword [esp + 0x110], ebp
mov esi, edi
call fcn.00468460
mov dword [edi], edx
mov ebp, dword [esi + 0x58]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x110]
mov edi, esi
mov dword [edi + 0x58], edx
test ebx, ebx
jne 0x653f74
nop
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov byte [edi + 0x44], 0
mov dword [edi + 0x4c], eax
mov dword [edi + 0x50], ecx
mov ecx, dword [0x9eca70]
test ecx, ecx
je 0x65378d
mov eax, edi
call fcn.00468460
mov dword [edi], edx
mov ecx, dword [eax + 0x48]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [edi + 0x48], edx
xor eax, eax
lea edi, [esp + 0x144]
call fcn.004686fb
lea edi, [esp + 0x11c]
call fcn.004686fb
lea edi, [esp + 0x130]
call fcn.004686fb
mov ecx, dword [esp + 0x15c]
mov edx, dword [ecx + 0x14]
lea eax, [edx - 1]
cmp edx, eax
jbe 0x6559f1
mov dword [esp + 0xa0], edx
mov edx, dword [ecx + 0x10]
shl eax, 4
lea esi, [eax + edx]
lea edi, [esp + 0xb0]
call fcn.00468be8
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
lea ecx, [0x974f40]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x24
mov dword [esp + 0xc], 0x24
call fcn.00672f80
mov eax, dword [esp + 0xd0]
mov dword [esp], eax
lea ecx, [0x975600]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x35
mov dword [esp + 0xc], 0x35
call fcn.00672f80
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.00672f80
mov eax, dword [esp + 0xd4]
mov edx, dword [eax + 0x24]
cmp edx, 0x100
jb 0x6559e7
mov ebx, dword [esp + 0xcc]
mov edx, dword [ebx + 0x24]
cmp edx, 0x100
jb 0x6559dd
mov ebp, dword [esp + 0xd0]
mov edx, dword [ebp + 0x24]
cmp edx, 0x100
jb 0x6559d3
mov ecx, ebp
mov ebp, dword [esp + 0x15c]
lea edx, [ebp + 0x3c]
mov esi, dword [eax + 0x1c]
mov dword [esp + 0x10c], esi
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x108], edi
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x104], ecx
movzx ebp, byte [esp + 0xbc]
lea ebp, [esi + ebp*8]
movzx esi, byte [esp + 0xbe]
lea esi, [edi + esi*8]
movzx edi, byte [esp + 0xbd]
lea edi, [ecx + edi*8]
mov ecx, dword [ebp]
movzx ebx, byte [ebp + 6]
mov byte [esp + 0x36], bl
movsx ebp, word [ebp + 4]
mov ebx, dword [esi]
mov dword [esp + 0x98], ebx
movzx ebx, byte [esi + 6]
mov byte [esp + 0x35], bl
movsx esi, word [esi + 4]
mov ebx, dword [edi]
mov dword [esp + 0x94], ebx
movzx ebx, byte [edi + 6]
mov byte [esp + 0x34], bl
movsx edi, word [edi + 4]
mov dword [esp + 0x90], edi
mov dword [esp + 0x144], edx
mov ebx, dword [eax + 0x14]
mov edi, dword [eax + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], eax
mov dword [esp + 0x148], edi
cmp ebx, 1
jne 0x653968
mov word [edi], 0
mov word [esp + 0x154], 0
jmp 0x6539b1
mov dword [esp + 0x8c], esi
lea eax, [ecx + 0x8000]
shr eax, 0x10
mov dword [esp + 0x5c], eax
shl eax, 0x10
sub eax, ecx
mov ecx, dword [esp + 0x5c]
cmp ecx, 0x20
sbb esi, esi
xchg esi, ebx
not ebx
xchg esi, ebx
or ecx, esi
sar eax, cl
add eax, ebp
cmp ebx, eax
jbe 0x6559cc
movzx ebx, word [edi + eax*2]
mov word [esp + 0x154], bx
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x11c], edx
mov ebx, dword [esp + 0xcc]
mov ebp, dword [ebx + 0x14]
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x18]
mov dword [esp + 0x124], ebp
mov dword [esp + 0x128], ecx
mov dword [esp + 0x120], eax
cmp ebp, 1
jne 0x6539f3
mov word [eax], 0
mov word [esp + 0x12c], 0
jmp 0x653a39
mov ebx, dword [esp + 0x98]
lea edi, [ebx + 0x8000]
shr edi, 0x10
mov dword [esp + 0x58], edi
shl edi, 0x10
sub edi, ebx
mov ebx, dword [esp + 0x58]
cmp ebx, 0x20
sbb ecx, ecx
not ecx
or ecx, ebx
sar edi, cl
lea ebx, [esi + edi]
cmp ebp, ebx
jbe 0x6559c3
movzx ebx, word [eax + ebx*2]
mov word [esp + 0x12c], bx
mov ebx, dword [esp + 0xcc]
nop
mov ebp, dword [esp + 0x15c]
cmp byte [ebp + 0x44], 0x20
jb 0x653bae
mov dword [esp + 0xc0], edx
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp + 0x4c]
add ecx, 4
mov esi, dword [ebp + 0x3c]
mov dword [esp + 0x98], esi
mov edi, dword [ebp + 0x40]
mov dword [esp + 0x88], edi
shr esi, 8
shl edi, 0x18
mov ebx, dword [esp + 0x98]
shr ebx, 0x10
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x88]
shl ebx, 0x10
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x88]
shl ebx, 8
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x98]
shr ebx, 0x18
mov dword [esp + 0x7c], ebx
mov edx, dword [ebp + 0x48]
or esi, edi
mov edi, ebp
mov ebp, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
or ebp, ebx
mov dword [esp + 0x84], ebp
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x7c]
or ebx, ebp
cmp eax, ecx
jae 0x653b60
mov dword [esp + 0x88], ebx
mov dword [esp + 0x80], esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x653b42
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x48]
mov dword [edi + 4], ebp
mov dword [ebx + 0x48], ecx
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x15c]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [edi + 0x4c], ecx
mov ebp, dword [esp + 0x98]
xchg ebp, eax
mov byte [ecx + edx - 4], al
xchg ebp, eax
xchg esi, eax
mov byte [ecx + edx - 3], al
xchg esi, eax
mov ebp, dword [esp + 0x84]
xchg ebp, eax
mov byte [ecx + edx - 2], al
xchg ebp, eax
mov byte [ecx + edx - 1], bl
movzx ebx, byte [edi + 0x44]
add ebx, 0xffffffe0
mov byte [edi + 0x44], bl
mov ebx, dword [edi + 0x40]
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], 0
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xcc]
mov ebp, edi
mov dword [esp + 0x130], edx
mov ebx, dword [esp + 0xd0]
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], esi
mov dword [esp + 0x134], edx
cmp ecx, 1
jne 0x653bf0
mov word [edx], 0
mov word [esp + 0x140], 0
jmp 0x653c3d
mov esi, ebx
mov ebx, dword [esp + 0x94]
lea edi, [ebx + 0x8000]
shr edi, 0x10
mov dword [esp + 0x54], edi
shl edi, 0x10
sub edi, ebx
mov ebx, dword [esp + 0x54]
cmp ebx, 0x20
sbb eax, eax
not eax
or ebx, eax
mov eax, ecx
mov ecx, ebx
sar edi, cl
mov ebx, dword [esp + 0x90]
add ebx, edi
cmp eax, ebx
jbe 0x6559ba
movzx ebx, word [edx + ebx*2]
mov word [esp + 0x140], bx
mov ebx, esi
movzx ebx, byte [esp + 0x36]
mov edx, ebx
and ebx, 0x1f
mov esi, ebp
lea ebp, [0x976920]
mov ebx, dword [ebp + ebx*4]
and ebx, dword [esp + 0xb0]
mov dword [esp + 0x98], ebx
movzx edi, byte [esi + 0x44]
and edi, 0x3f
mov ecx, edi
shl ebx, cl
mov dword [esp + 0x94], ebx
lea eax, [ecx - 0x20]
mov byte [esp + 0x36], al
mov ecx, eax
mov ebp, dword [esp + 0x98]
shl ebp, cl
mov dword [esp + 0x88], ebp
neg eax
mov ecx, eax
mov ebp, dword [esp + 0x98]
shr ebp, cl
movzx ebx, byte [esp + 0x34]
and ebx, 0x1f
nop
cmp al, 0x20
sbb eax, eax
and ebp, eax
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb eax, eax
mov ecx, ebx
mov ebx, dword [esp + 0x94]
and ebx, eax
mov eax, ebx
movzx ebx, byte [esp + 0x36]
cmp bl, 0x20
sbb ebx, ebx
mov edi, ebp
mov ebp, dword [esp + 0x88]
and ebp, ebx
or edi, ebp
or edi, dword [esi + 0x40]
or dword [esi + 0x3c], eax
mov dword [esi + 0x40], edi
movzx ebx, byte [esi + 0x44]
add ebx, edx
mov byte [esi + 0x44], bl
lea ebp, [0x976920]
mov eax, dword [ebp + ecx*4]
and eax, dword [esp + 0xb4]
mov dword [esp + 0x98], eax
and ebx, 0x3f
mov ecx, ebx
mov edx, eax
shl eax, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shl edx, cl
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
nop
cmp bl, 0x20
sbb ebx, ebx
and eax, ebx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ebx, ebx
and edx, ebx
cmp cl, 0x20
sbb ebx, ebx
and ebp, ebx
or ebp, edx
or ebp, dword [esi + 0x40]
or dword [esi + 0x3c], eax
mov dword [esi + 0x40], ebp
movzx ebx, byte [esi + 0x44]
movzx ebp, byte [esp + 0x34]
add ebx, ebp
mov byte [esi + 0x44], bl
cmp bl, 0x20
jae 0x653d56
mov edi, esi
jmp 0x653e7a
mov ebx, dword [esi + 0x50]
mov dword [esp + 0x9c], ebx
mov ebp, dword [esi + 0x4c]
add ebp, 4
mov dword [esp + 0x78], ebp
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x98], eax
mov ecx, eax
shr eax, 8
mov edx, ecx
shr ecx, 0x10
mov edi, dword [esi + 0x40]
mov dword [esp + 0x94], edi
shl edi, 0x18
mov ebx, dword [esp + 0x94]
shl ebx, 0x10
mov ebp, dword [esp + 0x94]
shl ebp, 8
shr edx, 0x18
mov esi, dword [esi + 0x48]
or eax, edi
or ecx, ebx
or ebp, edx
mov ebx, dword [esp + 0x9c]
mov edx, ebp
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
jae 0x653e40
mov dword [esp + 0x94], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], eax
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x653e24
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x48]
mov dword [edi + 4], ebp
mov dword [ebx + 0x48], ecx
mov eax, dword [esp + 0x84]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x4c], ebp
mov edi, ebx
mov ebx, dword [esp + 0x98]
mov byte [ebp + esi - 4], bl
mov byte [ebp + esi - 3], al
mov byte [ebp + esi - 2], cl
mov byte [ebp + esi - 1], dl
movzx ebx, byte [edi + 0x44]
add ebx, 0xffffffe0
mov byte [edi + 0x44], bl
mov ebx, dword [edi + 0x40]
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], 0
movzx ebx, byte [esp + 0x35]
mov ebp, ebx
and ebx, 0x1f
mov eax, ebp
lea ebp, [0x976920]
mov ebx, dword [ebp + ebx*4]
and ebx, dword [esp + 0xb8]
mov dword [esp + 0x98], ebx
movzx ecx, byte [edi + 0x44]
and ecx, 0x3f
mov byte [esp + 0x36], cl
mov edx, ebx
shl ebx, cl
lea esi, [ecx - 0x20]
mov ecx, esi
shl edx, cl
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
mov dword [esp + 0x98], ebp
nop
mov ebp, dword [esp + 0xa0]
add ebp, 0xfffffffe
mov dword [esp + 0x38], ebp
movzx ebp, byte [esp + 0x36]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and ebx, ebp
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebp, ebp
and edx, ebp
cmp cl, 0x20
sbb ebp, ebp
mov ecx, ebx
mov ebx, dword [esp + 0x98]
and ebx, ebp
or ebx, edx
or ebx, dword [edi + 0x40]
or dword [edi + 0x3c], ecx
mov dword [edi + 0x40], ebx
movzx ebx, byte [edi + 0x44]
add ebx, eax
mov byte [edi + 0x44], bl
mov ebx, dword [esp + 0xd4]
movzx ebp, byte [ebx + 0x32]
mov eax, ebx
mov ebx, dword [esp + 0xd0]
movzx ecx, byte [ebx + 0x32]
add ebp, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xcc]
movzx edx, byte [ebx + 0x32]
add ebp, edx
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
ja 0x653f5a
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + 0x10c]
jmp 0x655398
mov edx, dword [esp + 0x108]
mov ebp, dword [esp + 0x104]
mov esi, dword [esp + 0x10c]
jmp 0x654113
mov dword [esp + 0x170], ebp
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x174], eax
add esp, 0x158
ret
mov dword [esp + 0x170], ebp
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x174], eax
add esp, 0x158
ret
mov dword [esp + 0x170], ebp
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x174], eax
add esp, 0x158
ret
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
add esp, 0x158
ret
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
add esp, 0x158
ret
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
add esp, 0x158
ret
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
movzx eax, byte [esp + 0x16d]
mov byte [esp + 0x10], al
call fcn.00651fc0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
add esp, 0x158
ret
movzx eax, byte [esp + 0x34]
and eax, 0x1f
lea edx, [0x976920]
mov eax, dword [edx + eax*4]
and eax, dword [esp + 0xb8]
mov dword [esp + 0x98], eax
movzx ebx, byte [edi + 0x44]
and ebx, 0x3f
mov ecx, ebx
mov esi, eax
shl eax, cl
mov dword [esp + 0x94], eax
lea edx, [ecx - 0x20]
mov ecx, edx
shl esi, cl
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
nop
mov eax, dword [esp + 0x38]
dec eax
cmp dl, 0x20
sbb edx, edx
and esi, edx
cmp cl, 0x20
sbb ecx, ecx
and ebp, ecx
or ebp, esi
or ebp, dword [edi + 0x40]
cmp bl, 0x20
sbb ecx, ecx
mov edx, dword [esp + 0x94]
and edx, ecx
or dword [edi + 0x3c], edx
mov dword [edi + 0x40], ebp
movzx ecx, byte [edi + 0x44]
movzx edx, byte [esp + 0x34]
add ecx, edx
mov byte [edi + 0x44], cl
mov edx, dword [esp + 0x108]
mov ebp, dword [esp + 0x104]
mov esi, dword [esp + 0x10c]
mov ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xd4]
mov ebx, dword [esp + 0x38]
test ebx, ebx
jl 0x654964
mov eax, dword [edi + 0x14]
cmp ebx, eax
jae 0x6551e7
mov eax, dword [edi + 0x10]
shl ebx, 4
add ebx, eax
mov eax, edi
lea edi, [esp + 0xb0]
mov esi, ebx
call fcn.00468be8
nop
cmp byte [eax + 0x44], 0x20
jb 0x65429e
mov ebx, dword [eax + 0x50]
mov dword [esp + 0xa0], ebx
mov ecx, dword [eax + 0x4c]
add ecx, 4
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x98], esi
mov edi, dword [eax + 0x40]
mov dword [esp + 0x94], edi
shr esi, 8
shl edi, 0x18
mov ebp, dword [esp + 0x98]
shr ebp, 0x10
mov ebx, dword [esp + 0x94]
shl ebx, 0x10
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x94]
shl ebx, 8
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x98]
shr ebx, 0x18
mov edx, dword [eax + 0x48]
or esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x88]
or ebx, ebp
mov ebp, dword [esp + 0x94]
or edi, ebp
mov ebp, dword [esp + 0xa0]
cmp ebp, ecx
jae 0x654259
mov dword [esp + 0x94], edi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x654239
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x48]
mov dword [edi + 4], ebp
mov dword [ebx + 0x48], ecx
mov eax, ebx
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x94]
mov ebp, ecx
mov ecx, edx
mov edx, ebp
mov dword [eax + 0x4c], ecx
mov ebp, dword [esp + 0x98]
xchg ebp, eax
mov byte [ecx + edx - 4], al
xchg ebp, eax
xchg esi, eax
mov byte [ecx + edx - 3], al
xchg esi, eax
mov byte [ecx + edx - 2], bl
xchg edi, eax
mov byte [ecx + edx - 1], al
xchg edi, eax
movzx ebx, byte [eax + 0x44]
add ebx, 0xffffffe0
mov byte [eax + 0x44], bl
mov ebx, dword [eax + 0x40]
mov dword [eax + 0x3c], ebx
mov dword [eax + 0x40], 0
mov edx, dword [esp + 0x108]
mov ebp, dword [esp + 0x104]
movzx ebx, byte [esp + 0xbc]
mov ecx, ebp
mov ebp, dword [esp + 0x10c]
lea ebx, [ebp + ebx*8]
mov dword [esp + 0x100], ebx
movzx esi, byte [esp + 0xbe]
lea esi, [edx + esi*8]
movsx edi, word [esi + 4]
movzx edx, byte [esp + 0xbd]
lea edx, [ecx + edx*8]
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0xf4], ecx
movzx ebp, word [esp + 0x12c]
movzx eax, bp
add eax, dword [esi]
shr eax, 0x10
mov dword [esp + 0x44], eax
and eax, 0xf
mov ecx, eax
mov eax, ebp
shr bp, cl
movzx ebp, bp
add ebp, edi
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x44]
and ebp, 0x1f
lea ebx, [0x975880]
movzx ebp, word [ebx + ebp*2]
and eax, ebp
movzx ebp, ax
mov dword [esp + 0x98], ebp
mov ebx, dword [esp + 0xf4]
movzx eax, byte [ebx + 8]
and eax, 0x3f
mov byte [esp + 0x36], al
mov ecx, eax
shl ebp, cl
mov dword [esp + 0x94], ebp
lea edi, [eax - 0x20]
mov ecx, edi
mov ebp, dword [esp + 0x98]
shl ebp, cl
neg ecx
mov ebx, dword [esp + 0x98]
shr ebx, cl
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x100]
movzx eax, byte [ebx + 6]
mov byte [esp + 0x35], al
mov eax, dword [ebx]
movsx ebx, word [ebx + 4]
movzx esi, byte [esi + 6]
xchg esi, eax
mov byte [esp + 0x34], al
xchg esi, eax
movzx esi, byte [edx + 6]
xchg esi, eax
mov byte [esp + 0x33], al
xchg esi, eax
mov esi, dword [edx]
movsx edx, word [edx + 4]
nop
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb edi, edi
and ebp, edi
cmp cl, 0x20
sbb ecx, ecx
mov edi, ebx
mov ebx, dword [esp + 0x98]
and ecx, ebx
or ebp, ecx
mov ebx, dword [esp + 0xf4]
or ebp, dword [ebx + 4]
mov ecx, ebp
movzx ebp, byte [esp + 0x36]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov ebx, dword [esp + 0x94]
and ebx, ebp
mov ebp, dword [esp + 0xf4]
or dword [ebp], ebx
mov dword [ebp + 4], ecx
movzx ebx, byte [ebp + 8]
mov ecx, ebp
mov ebp, dword [esp + 0x44]
add ebx, ebp
mov byte [ecx + 8], bl
mov ecx, dword [esp + 0x124]
mov ebx, dword [esp + 0x68]
cmp ecx, ebx
jbe 0x6551e0
mov dword [esp + 0x90], edi
mov ebp, dword [esp + 0x120]
movzx ebx, word [ebp + ebx*2]
mov word [esp + 0x12c], bx
mov ebx, dword [esp + 0x130]
mov dword [esp + 0xf0], ebx
movzx ebp, word [esp + 0x140]
movzx ecx, bp
add ecx, esi
shr ecx, 0x10
mov dword [esp + 0x40], ecx
mov esi, ecx
and esi, 0xf
mov ecx, esi
mov esi, ebp
shr bp, cl
movzx ebp, bp
add ebp, edx
mov dword [esp + 0x64], ebp
mov ebp, dword [esp + 0x40]
mov edx, ebp
and ebp, 0x1f
lea ebx, [0x975880]
movzx ebp, word [ebx + ebp*2]
and ebp, esi
movzx ebp, bp
mov dword [esp + 0x98], ebp
mov ebx, dword [esp + 0xf0]
movzx esi, byte [ebx + 8]
and esi, 0x3f
mov ecx, esi
shl ebp, cl
mov dword [esp + 0x94], ebp
lea edi, [ecx - 0x20]
mov ecx, edi
mov ebp, dword [esp + 0x98]
shl ebp, cl
neg ecx
mov ebx, dword [esp + 0x98]
shr ebx, cl
nop
cmp cl, 0x20
sbb ecx, ecx
and ebx, ecx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ecx, ecx
and ecx, ebp
or ecx, ebx
mov ebx, dword [esp + 0xf0]
or ecx, dword [ebx + 4]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebp, ebp
mov esi, ebx
mov ebx, dword [esp + 0x94]
and ebp, ebx
or dword [esi], ebp
mov dword [esi + 4], ecx
movzx ebx, byte [esi + 8]
add ebx, edx
mov byte [esi + 8], bl
mov ecx, dword [esp + 0x138]
mov ebx, dword [esp + 0x64]
cmp ecx, ebx
jbe 0x6551d9
mov ebp, dword [esp + 0x134]
movzx ebx, word [ebp + ebx*2]
mov word [esp + 0x140], bx
movzx ebx, word [esp + 0x154]
movzx ebp, bx
lea ecx, [eax + ebp]
shr ecx, 0x10
mov ebp, ecx
and ebp, 0xf
mov eax, ecx
mov ecx, ebp
mov edx, ebx
shr bx, cl
movzx ebx, bx
mov ebp, dword [esp + 0x90]
add ebx, ebp
mov ebp, dword [esp + 0x144]
mov dword [esp + 0xec], ebp
mov ecx, eax
and eax, 0x1f
mov esi, ebx
lea ebx, [0x975880]
movzx eax, word [ebx + eax*2]
and edx, eax
movzx eax, dx
mov dword [esp + 0x98], eax
movzx edx, byte [ebp + 8]
and edx, 0x3f
mov edi, ecx
mov ecx, edx
shl eax, cl
lea ebx, [ecx - 0x20]
mov ecx, ebx
mov ebp, dword [esp + 0x98]
shl ebp, cl
mov dword [esp + 0x94], ebp
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
mov dword [esp + 0x98], ebp
nop
cmp bl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x94]
and ebp, ebx
cmp cl, 0x20
sbb ebx, ebx
mov ecx, ebp
mov ebp, dword [esp + 0x98]
and ebp, ebx
or ecx, ebp
mov ebx, dword [esp + 0xec]
or ecx, dword [ebx + 4]
cmp dl, 0x20
sbb ebp, ebp
and eax, ebp
or dword [ebx], eax
mov dword [ebx + 4], ecx
movzx ebp, byte [ebx + 8]
add ebp, edi
xchg ebp, eax
mov byte [ebx + 8], al
xchg ebp, eax
mov ecx, dword [esp + 0x14c]
cmp ecx, esi
jbe 0x6551d2
mov ebx, dword [esp + 0x148]
movzx ebx, word [ebx + esi*2]
mov word [esp + 0x154], bx
mov ebx, dword [esp + 0x15c]
cmp byte [ebx + 0x44], 0x20
jae 0x654607
mov esi, ebx
jmp 0x654735
mov ebp, dword [ebx + 0x50]
mov dword [esp + 0xa0], ebp
mov eax, dword [ebx + 0x4c]
add eax, 4
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x98], ecx
mov edx, ecx
shr ecx, 8
mov esi, edx
shr edx, 0x10
mov edi, dword [ebx + 0x40]
mov dword [esp + 0x94], edi
shl edi, 0x18
mov ebp, dword [esp + 0x94]
shl ebp, 0x10
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x94]
shl ebp, 8
shr esi, 0x18
mov ebx, dword [ebx + 0x48]
or ecx, edi
mov edi, ebx
mov ebx, dword [esp + 0x88]
or edx, ebx
or ebp, esi
mov ebx, dword [esp + 0xa0]
cmp ebx, eax
jae 0x6546f7
mov dword [esp + 0x94], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x6546db
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x48]
mov dword [edi + 4], ebp
mov dword [ebx + 0x48], ecx
mov ebp, dword [esp + 0x94]
mov eax, edx
mov edi, ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x4c], eax
mov esi, ebx
mov ebx, dword [esp + 0x98]
mov byte [eax + edi - 4], bl
mov byte [eax + edi - 3], cl
mov byte [eax + edi - 2], dl
xchg ebp, ebx
mov byte [eax + edi - 1], bl
xchg ebp, ebx
movzx ebx, byte [esi + 0x44]
add ebx, 0xffffffe0
mov byte [esi + 0x44], bl
mov ebx, dword [esi + 0x40]
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], 0
movzx ebx, byte [esp + 0x35]
mov ebp, ebx
and ebx, 0x1f
mov eax, ebp
lea ebp, [0x976920]
mov ebx, dword [ebp + ebx*4]
and ebx, dword [esp + 0xb0]
mov dword [esp + 0x98], ebx
movzx ecx, byte [esi + 0x44]
and ecx, 0x3f
mov byte [esp + 0x36], cl
mov edx, ebx
shl ebx, cl
mov dword [esp + 0x94], ebx
lea edi, [ecx - 0x20]
mov ecx, edi
shl edx, cl
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
movzx ebx, byte [esp + 0x33]
and ebx, 0x1f
nop
cmp cl, 0x20
sbb ecx, ecx
and ebp, ecx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ecx, ecx
and edx, ecx
or edx, ebp
or edx, dword [esi + 0x40]
movzx ebp, byte [esp + 0x36]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
mov ecx, ebx
mov ebx, dword [esp + 0x94]
and ebx, ebp
or dword [esi + 0x3c], ebx
mov dword [esi + 0x40], edx
movzx ebx, byte [esi + 0x44]
add ebx, eax
mov byte [esi + 0x44], bl
lea ebp, [0x976920]
mov eax, dword [ebp + ecx*4]
and eax, dword [esp + 0xb4]
mov dword [esp + 0x98], eax
and ebx, 0x3f
mov ecx, ebx
mov edx, eax
shl eax, cl
lea edi, [ecx - 0x20]
mov ecx, edi
shl edx, cl
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
nop
cmp cl, 0x20
sbb ecx, ecx
and ebp, ecx
xchg edi, eax
cmp al, 0x20
xchg edi, eax
sbb ecx, ecx
and edx, ecx
or ebp, edx
or ebp, dword [esi + 0x40]
cmp bl, 0x20
sbb ebx, ebx
and eax, ebx
or dword [esi + 0x3c], eax
mov dword [esi + 0x40], ebp
movzx ebx, byte [esi + 0x44]
movzx ebp, byte [esp + 0x33]
add ebx, ebp
mov byte [esi + 0x44], bl
cmp bl, 0x20
jae 0x654835
mov edi, esi
jmp 0x654065
mov ebx, dword [esi + 0x50]
mov dword [esp + 0xa0], ebx
mov ebp, dword [esi + 0x4c]
add ebp, 4
mov dword [esp + 0x9c], ebp
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x98], eax
mov ecx, eax
shr eax, 8
mov edx, dword [esi + 0x40]
mov dword [esp + 0x94], edx
mov edi, edx
shl edx, 0x18
shl edi, 0x10
shr ecx, 0x10
mov ebx, dword [esp + 0x94]
shl ebx, 8
mov ebp, dword [esp + 0x98]
shr ebp, 0x18
mov esi, dword [esi + 0x48]
or eax, edx
or ecx, edi
or ebp, ebx
mov ebx, dword [esp + 0xa0]
mov edx, ebp
mov ebp, dword [esp + 0x9c]
cmp ebx, ebp
jae 0x654925
mov dword [esp + 0x94], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x654909
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x48]
mov dword [edi + 4], ebp
mov dword [ebx + 0x48], ecx
mov eax, dword [esp + 0x84]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x94]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x4c], ebp
mov edi, ebx
mov ebx, dword [esp + 0x98]
mov byte [ebp + esi - 4], bl
mov byte [ebp + esi - 3], al
mov byte [ebp + esi - 2], cl
mov byte [ebp + esi - 1], dl
movzx ebx, byte [edi + 0x44]
add ebx, 0xffffffe0
mov byte [edi + 0x44], bl
mov ebx, dword [edi + 0x40]
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], 0
jmp 0x654065
mov ebx, dword [esp + 0x130]
movzx ebp, byte [ecx + 2]
cmp byte [ebx + 8], 0x20
jb 0x654ac9
xchg ebp, eax
mov byte [esp + 0x2d], al
xchg ebp, eax
mov dword [esp + 0xe8], ebx
mov esi, dword [ebx + 0x14]
mov dword [esp + 0xa0], esi
mov edx, dword [ebx + 0x10]
add edx, 4
mov ecx, dword [ebx + 4]
mov dword [esp + 0x98], ecx
shl ecx, 0x18
mov edi, dword [esp + 0x98]
shl edi, 0x10
mov eax, dword [ebx]
mov dword [esp + 0x94], eax
shr eax, 8
mov ebp, dword [esp + 0x94]
shr ebp, 0x10
mov esi, dword [esp + 0x98]
shl esi, 8
mov dword [esp + 0x98], esi
mov esi, dword [esp + 0x94]
shr esi, 0x18
mov ebx, dword [ebx + 0xc]
or eax, ecx
or ebp, edi
mov edi, dword [esp + 0x98]
or esi, edi
mov edi, dword [esp + 0xa0]
cmp edi, edx
jae 0x654a77
mov dword [esp + 0x98], ebp
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], eax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe8]
mov dword [ebx + 0x14], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x654a5d
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x98]
mov esi, dword [esp + 0x88]
mov ebx, ecx
mov edi, dword [esp + 0xe8]
mov dword [edi + 0x10], edx
mov ecx, edi
mov edi, dword [esp + 0x94]
xchg edi, eax
mov byte [edx + ebx - 4], al
xchg edi, eax
mov byte [edx + ebx - 3], al
xchg ebp, eax
mov byte [edx + ebx - 2], al
xchg ebp, eax
xchg esi, eax
mov byte [edx + ebx - 1], al
xchg esi, eax
movzx eax, byte [ecx + 8]
add eax, 0xffffffe0
mov byte [ecx + 8], al
mov eax, dword [ecx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esp + 0xd0]
movzx ebp, byte [esp + 0x2d]
mov edi, dword [esp + 0x15c]
mov ebx, dword [esp + 0x130]
mov dword [esp + 0xe4], ebx
movzx esi, word [esp + 0x140]
mov edx, ebp
and ebp, 0x1f
lea edi, [0x975880]
movzx ebp, word [edi + ebp*2]
and ebp, esi
movzx ebp, bp
mov dword [esp + 0x98], ebp
movzx esi, byte [ebx + 8]
and esi, 0x3f
mov ecx, esi
shl ebp, cl
lea eax, [ecx - 0x20]
mov byte [esp + 0x36], al
mov ecx, eax
mov edi, dword [esp + 0x98]
shl edi, cl
neg eax
mov ecx, eax
mov ebx, dword [esp + 0x98]
shr ebx, cl
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and esi, ebp
cmp al, 0x20
sbb eax, eax
and ebx, eax
movzx eax, byte [esp + 0x36]
cmp al, 0x20
sbb eax, eax
and edi, eax
or edi, ebx
mov eax, dword [esp + 0xe4]
or edi, dword [eax + 4]
or dword [eax], esi
mov dword [eax + 4], edi
movzx ebx, byte [eax + 8]
add ebx, edx
mov byte [eax + 8], bl
mov eax, dword [esp + 0x11c]
mov ebx, dword [esp + 0xcc]
movzx ebp, byte [ebx + 2]
xchg ebp, eax
mov byte [esp + 0x2c], al
xchg ebp, eax
cmp byte [eax + 8], 0x20
jb 0x654cc2
mov dword [esp + 0xe0], eax
mov esi, dword [eax + 0x14]
mov dword [esp + 0xa0], esi
mov edi, dword [eax + 0x10]
add edi, 4
mov dword [esp + 0x9c], edi
mov ecx, dword [eax + 4]
mov dword [esp + 0x98], ecx
mov edx, ecx
shl ecx, 0x18
shl edx, 0x10
mov ebx, dword [eax]
mov dword [esp + 0x94], ebx
shr ebx, 8
mov ebp, dword [esp + 0x94]
shr ebp, 0x10
mov esi, dword [esp + 0x98]
shl esi, 8
mov edi, dword [esp + 0x94]
shr edi, 0x18
mov eax, dword [eax + 0xc]
or ebx, ecx
or edx, ebp
or edi, esi
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
cmp ebp, esi
jae 0x654c75
mov dword [esp + 0x98], edx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], edi
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe0]
mov dword [ebx + 0x14], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x654c59
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov dword [ebx + 0xc], ecx
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0x84]
mov esi, edx
mov eax, ecx
mov edx, dword [esp + 0x98]
mov ebp, dword [esp + 0xe0]
mov dword [ebp + 0x10], esi
mov ecx, ebp
mov ebp, dword [esp + 0x94]
xchg ebp, ebx
mov byte [esi + eax - 4], bl
xchg ebp, ebx
mov byte [esi + eax - 3], bl
mov byte [esi + eax - 2], dl
xchg edi, ebx
mov byte [esi + eax - 1], bl
xchg edi, ebx
movzx eax, byte [ecx + 8]
add eax, 0xffffffe0
mov byte [ecx + 8], al
mov eax, dword [ecx + 4]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ebx, dword [esp + 0xcc]
movzx ebp, byte [esp + 0x2c]
mov eax, dword [esp + 0x11c]
movzx esi, word [esp + 0x12c]
and ebp, 0x1f
lea ebx, [0x975880]
movzx ebp, word [ebx + ebp*2]
and esi, ebp
movzx ebp, si
mov dword [esp + 0x98], ebp
movzx esi, byte [eax + 8]
and esi, 0x3f
mov ecx, esi
shl ebp, cl
lea edx, [ecx - 0x20]
mov ecx, edx
mov ebx, dword [esp + 0x98]
shl ebx, cl
neg ecx
mov edi, dword [esp + 0x98]
shr edi, cl
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and ebp, esi
cmp dl, 0x20
sbb esi, esi
and ebx, esi
cmp cl, 0x20
sbb esi, esi
and edi, esi
or ebx, edi
or ebx, dword [eax + 4]
or dword [eax], ebp
mov dword [eax + 4], ebx
movzx ebx, byte [eax + 8]
movzx ebp, byte [esp + 0x2c]
add ebx, ebp
mov byte [eax + 8], bl
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0xd4]
movzx ebp, byte [ebx + 2]
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
cmp byte [eax + 8], 0x20
jb 0x654ea3
mov dword [esp + 0xdc], eax
mov esi, dword [eax + 0x14]
mov dword [esp + 0xa0], esi
mov edi, dword [eax + 0x10]
add edi, 4
mov dword [esp + 0x9c], edi
mov ecx, dword [eax]
mov dword [esp + 0x98], ecx
mov edx, ecx
shr ecx, 8
mov ebx, dword [eax + 4]
mov dword [esp + 0x94], ebx
shl ebx, 0x18
mov ebp, dword [esp + 0x94]
shl ebp, 0x10
shr edx, 0x10
mov esi, dword [esp + 0x94]
shl esi, 8
mov edi, dword [esp + 0x98]
shr edi, 0x18
mov eax, dword [eax + 0xc]
or ecx, ebx
or edx, ebp
or esi, edi
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
cmp ebx, ebp
jae 0x654e58
mov dword [esp + 0x94], esi
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0x14], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x654e3c
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov dword [ebx + 0xc], ecx
mov esi, dword [esp + 0x94]
mov ebp, edx
mov eax, ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0x10], ebp
mov edi, dword [esp + 0x98]
xchg edi, ebx
mov byte [ebp + eax - 4], bl
xchg edi, ebx
mov byte [ebp + eax - 3], cl
mov byte [ebp + eax - 2], dl
xchg esi, ebx
mov byte [ebp + eax - 1], bl
xchg esi, ebx
movzx eax, byte [ebx + 8]
add eax, 0xffffffe0
mov byte [ebx + 8], al
mov eax, dword [ebx + 4]
mov dword [ebx], eax
mov dword [ebx + 4], 0
mov ebx, dword [esp + 0xd4]
movzx ebp, byte [esp + 0x2b]
mov eax, dword [esp + 0x144]
movzx esi, word [esp + 0x154]
and ebp, 0x1f
lea ebx, [0x975880]
movzx ebx, word [ebx + ebp*2]
and esi, ebx
movzx ebx, si
mov dword [esp + 0x98], ebx
movzx ebp, byte [eax + 8]
and ebp, 0x3f
mov ecx, ebp
mov esi, ebx
shl ebx, cl
lea edx, [ecx - 0x20]
mov ecx, edx
shl esi, cl
neg ecx
mov edi, dword [esp + 0x98]
shr edi, cl
cmp cl, 0x20
sbb ecx, ecx
and ecx, edi
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and ebx, ebp
cmp dl, 0x20
sbb ebp, ebp
and esi, ebp
or esi, ecx
or esi, dword [eax + 4]
or dword [eax], ebx
mov dword [eax + 4], esi
movzx ebx, byte [eax + 8]
movzx ebp, byte [esp + 0x2b]
add ebx, ebp
mov byte [eax + 8], bl
mov eax, dword [esp + 0x15c]
movzx ecx, byte [eax + 0x44]
and ecx, 0x3f
mov ebx, 1
shl ebx, cl
lea ebp, [ecx - 0x20]
mov edx, ecx
mov ecx, ebp
mov esi, 1
shl esi, cl
neg ecx
mov edi, 1
shr edi, cl
nop
nop
cmp dl, 0x20
sbb edx, edx
and ebx, edx
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and esi, ebp
cmp cl, 0x20
sbb ebp, ebp
and edi, ebp
or esi, edi
or esi, dword [eax + 0x40]
or dword [eax + 0x3c], ebx
mov dword [eax + 0x40], esi
movzx ebx, byte [eax + 0x44]
lea ebp, [ebx + 1]
xchg ebp, ebx
mov byte [eax + 0x44], bl
xchg ebp, ebx
add ebx, 8
nop
shr bl, 3
mov byte [esp + 0x30], bl
xor ecx, ecx
jmp 0x654fa7
mov dword [ebx + 0x4c], edx
mov ebp, dword [esp + 0x98]
xchg ebp, eax
mov byte [edx + ecx - 1], al
xchg ebp, eax
movzx ebp, byte [esp + 0x32]
lea ecx, [ebp + 1]
movzx ebp, byte [esp + 0x30]
mov eax, ebx
mov ebx, ebp
cmp cl, bl
jae 0x655096
mov byte [esp + 0x32], cl
mov ebp, dword [eax + 0x50]
mov dword [esp + 0xa0], ebp
mov esi, dword [eax + 0x4c]
inc esi
mov edi, dword [eax + 0x40]
mov dword [esp + 0x98], edi
mov edx, dword [eax + 0x3c]
shl ecx, 3
mov byte [esp + 0x36], cl
shr edx, cl
lea ebx, [ecx - 0x20]
mov ecx, ebx
shr edi, cl
neg ecx
mov ebp, dword [esp + 0x98]
shl ebp, cl
mov eax, dword [eax + 0x48]
mov dword [esp + 0x114], eax
movzx eax, byte [esp + 0x36]
cmp al, 0x20
sbb eax, eax
and edx, eax
cmp cl, 0x20
sbb eax, eax
and ebp, eax
or ebp, edx
cmp bl, 0x20
sbb eax, eax
and edi, eax
or ebp, edi
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0xa0]
cmp eax, esi
jb 0x655038
mov ebx, dword [esp + 0x15c]
mov edx, esi
mov ecx, dword [esp + 0x114]
jmp 0x654f86
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65508e
call fcn.00468460
mov dword [edi], ecx
mov eax, dword [ebx + 0x48]
mov dword [edi + 4], eax
mov dword [ebx + 0x48], ecx
jmp 0x654f86
mov byte [eax + 0x44], 0
mov dword [eax + 0x3c], 0
mov dword [eax + 0x40], 0
mov edx, dword [eax + 0x50]
mov ebx, dword [eax + 0x4c]
mov ebp, dword [eax + 0x48]
mov dword [eax + 0x5c], ebx
mov dword [eax + 0x60], edx
mov esi, dword [0x9eca70]
mov ecx, dword [esp + 0x74]
sub ebx, ecx
test esi, esi
je 0x6550d4
call fcn.00468460
mov dword [edi], ebp
mov esi, dword [eax + 0x58]
mov dword [edi + 4], esi
mov dword [eax + 0x58], ebp
lea esi, [ebx - 3]
cmp dword [eax], esi
jle 0x6551a2
add ebx, 0xfffffffd
mov esi, dword [esp + 0x70]
and esi, 7
shl ebx, 3
or esi, ebx
mov dword [esp + 0x70], esi
cmp edx, ecx
jb 0x6551cd
sub edx, ecx
mov ebx, edx
neg edx
sar edx, 0x1f
and ecx, edx
add ecx, ebp
cmp ebx, 3
jae 0x65514e
mov dword [esp + 0xa4], esi
mov dword [esp], ecx
mov dword [esp + 4], 3
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 3
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x15c]
mov esi, dword [esp + 0xa4]
xchg esi, eax
mov byte [ecx], al
xchg esi, eax
add eax, 0x1c
shr esi, 8
mov word [ecx + 1], si
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
call fcn.00677410
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
add esp, 0x158
ret
mov eax, dword [eax + 0x34]
mov byte [eax + 0x43a], 2
mov eax, dword [0x9a42a0]
mov ecx, dword [0x9a42a4]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
add esp, 0x158
ret
call fcn.00468500
mov eax, esi
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov eax, ebx
call fcn.004684c0
mov ecx, eax
mov eax, ebx
call fcn.004684c0
movzx eax, byte [esp + 0x36]
and eax, 0x1f
lea edx, [0x976920]
mov eax, dword [edx + eax*4]
and eax, dword [esp + 0xb0]
mov dword [esp + 0x98], eax
movzx ebp, byte [ebx + 0x44]
and ebp, 0x3f
mov ecx, ebp
mov edi, eax
shl eax, cl
lea edx, [ecx - 0x20]
mov ecx, edx
shl edi, cl
neg ecx
mov esi, dword [esp + 0x98]
shr esi, cl
movzx ebx, byte [esp + 0x34]
and ebx, 0x1f
mov dword [esp + 0xa0], ebx
movzx ebx, byte [esp + 0x35]
and ebx, 0x1f
mov dword [esp + 0x9c], ebx
nop
mov ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x38], ebx
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and eax, ebp
cmp dl, 0x20
sbb edx, edx
and edi, edx
cmp cl, 0x20
sbb ecx, ecx
and esi, ecx
or esi, edi
mov edi, dword [esp + 0x15c]
or esi, dword [edi + 0x40]
or dword [edi + 0x3c], eax
mov dword [edi + 0x40], esi
movzx eax, byte [edi + 0x44]
movzx ecx, byte [esp + 0x36]
add ecx, eax
mov byte [edi + 0x44], cl
mov eax, dword [esp + 0xa0]
lea edx, [0x976920]
mov eax, dword [edx + eax*4]
and eax, dword [esp + 0xb4]
mov dword [esp + 0x98], eax
and ecx, 0x3f
mov byte [esp + 0x36], cl
mov ebp, eax
shl eax, cl
lea esi, [ecx - 0x20]
mov ecx, esi
shl ebp, cl
neg ecx
mov ebx, dword [esp + 0x98]
shr ebx, cl
nop
movzx edx, byte [esp + 0x36]
cmp dl, 0x20
sbb edx, edx
and eax, edx
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb edx, edx
and ebp, edx
cmp cl, 0x20
sbb ecx, ecx
and ebx, ecx
or ebx, ebp
or ebx, dword [edi + 0x40]
or dword [edi + 0x3c], eax
mov dword [edi + 0x40], ebx
movzx eax, byte [edi + 0x44]
movzx ecx, byte [esp + 0x34]
add ecx, eax
mov byte [edi + 0x44], cl
mov eax, dword [esp + 0x9c]
lea edx, [0x976920]
mov eax, dword [edx + eax*4]
and eax, dword [esp + 0xb8]
mov dword [esp + 0x98], eax
and ecx, 0x3f
mov ebx, eax
shl eax, cl
lea ebp, [ecx - 0x20]
mov esi, ecx
mov ecx, ebp
shl ebx, cl
neg ecx
mov edx, dword [esp + 0x98]
shr edx, cl
nop
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb esi, esi
and eax, esi
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
sbb ebp, ebp
and ebx, ebp
cmp cl, 0x20
sbb ecx, ecx
and edx, ecx
or edx, ebx
or edx, dword [edi + 0x40]
or dword [edi + 0x3c], eax
mov dword [edi + 0x40], edx
movzx eax, byte [edi + 0x44]
movzx ecx, byte [esp + 0x35]
add eax, ecx
mov byte [edi + 0x44], al
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + 0x10c]
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
mov ebx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x38]
test ebx, ebx
jl 0x654964
mov eax, dword [edi + 0x14]
cmp ebx, eax
jae 0x6559b1
mov eax, dword [edi + 0x10]
shl ebx, 4
add ebx, eax
mov eax, edi
lea edi, [esp + 0xb0]
mov esi, ebx
call fcn.00468be8
nop
cmp byte [eax + 0x44], 0x20
jb 0x655517
mov ebx, dword [eax + 0x50]
mov dword [esp + 0xa0], ebx
mov ecx, dword [eax + 0x4c]
add ecx, 4
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x98], esi
mov edi, esi
shr esi, 8
shr edi, 0x10
mov edx, dword [eax + 0x40]
mov dword [esp + 0x94], edx
shl edx, 0x18
mov ebp, dword [esp + 0x94]
shl ebp, 0x10
mov ebx, dword [esp + 0x94]
shl ebx, 8
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x98]
shr ebx, 0x18
mov eax, dword [eax + 0x48]
or esi, edx
or ebp, edi
mov edx, ebp
mov ebp, dword [esp + 0x94]
or ebx, ebp
mov ebp, dword [esp + 0xa0]
cmp ebp, ecx
jae 0x6554c7
mov dword [esp + 0x94], edx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x6554ab
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x48]
mov dword [edi + 4], ebp
mov dword [ebx + 0x48], ecx
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x94]
mov ebp, dword [esp + 0x15c]
mov dword [ebp + 0x4c], ecx
mov edi, ebp
mov ebp, dword [esp + 0x98]
xchg ebp, ebx
mov byte [ecx + eax - 4], bl
xchg ebp, ebx
xchg esi, ebx
mov byte [ecx + eax - 3], bl
xchg esi, ebx
mov byte [ecx + eax - 2], dl
mov byte [ecx + eax - 1], bl
movzx ebx, byte [edi + 0x44]
add ebx, 0xffffffe0
mov byte [edi + 0x44], bl
mov ebx, dword [edi + 0x40]
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x40], 0
mov edx, dword [esp + 0x104]
mov ebp, dword [esp + 0x108]
movzx ebx, byte [esp + 0xbc]
mov ecx, ebp
mov ebp, dword [esp + 0x10c]
lea ebx, [ebp + ebx*8]
mov dword [esp + 0x100], ebx
movzx esi, byte [esp + 0xbe]
lea esi, [ecx + esi*8]
movsx edi, word [esi + 4]
movzx ecx, byte [esp + 0xbd]
lea ecx, [edx + ecx*8]
mov dword [esp + 0xfc], ecx
mov edx, dword [esp + 0x11c]
movzx ebp, word [esp + 0x12c]
movzx eax, bp
add eax, dword [esi]
shr eax, 0x10
mov dword [esp + 0x50], eax
and eax, 0xf
mov ecx, eax
mov eax, ebp
shr bp, cl
movzx ebp, bp
add ebp, edi
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x50]
and ebp, 0x1f
lea ebx, [0x975880]
movzx ebp, word [ebx + ebp*2]
and eax, ebp
movzx ebp, ax
mov dword [esp + 0x98], ebp
movzx eax, byte [edx + 8]
and eax, 0x3f
mov ecx, eax
shl ebp, cl
mov dword [esp + 0x94], ebp
lea ebx, [eax - 0x20]
mov ecx, ebx
mov ebp, dword [esp + 0x98]
shl ebp, cl
mov dword [esp + 0x88], ebp
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0x100]
movzx edi, byte [ebp + 6]
xchg edi, eax
mov byte [esp + 0x36], al
xchg edi, eax
mov edi, dword [ebp]
movsx ebp, word [ebp + 4]
mov dword [esp + 0x90], ebp
movzx esi, byte [esi + 6]
xchg esi, eax
mov byte [esp + 0x35], al
xchg esi, eax
mov ebp, dword [esp + 0xfc]
movzx esi, byte [ebp + 6]
xchg esi, eax
mov byte [esp + 0x34], al
xchg esi, eax
mov esi, dword [ebp]
movsx ebp, word [ebp + 4]
mov dword [esp + 0x8c], ebp
nop
cmp al, 0x20
sbb eax, eax
mov ebp, dword [esp + 0x94]
and ebp, eax
cmp bl, 0x20
sbb ebx, ebx
mov eax, ebp
mov ebp, dword [esp + 0x88]
and ebp, ebx
cmp cl, 0x20
sbb ebx, ebx
mov ecx, ebp
mov ebp, dword [esp + 0x98]
and ebp, ebx
or ecx, ebp
or ecx, dword [edx + 4]
or dword [edx], eax
mov dword [edx + 4], ecx
movzx ebx, byte [edx + 8]
mov ebp, dword [esp + 0x50]
add ebx, ebp
mov byte [edx + 8], bl
mov ecx, dword [esp + 0x124]
mov eax, dword [esp + 0x6c]
cmp ecx, eax
jbe 0x6559ac
mov ebx, dword [esp + 0x120]
movzx ebx, word [ebx + eax*2]
mov word [esp + 0x12c], bx
movzx ebx, word [esp + 0x140]
movzx ebp, bx
lea ecx, [esi + ebp]
shr ecx, 0x10
mov dword [esp + 0x4c], ecx
mov ebp, ecx
and ebp, 0xf
mov eax, ecx
mov ecx, ebp
mov edx, ebx
shr bx, cl
movzx ebx, bx
mov ebp, dword [esp + 0x8c]
add ebx, ebp
mov ebp, dword [esp + 0x130]
mov dword [esp + 0xf8], ebp
and eax, 0x1f
mov esi, ebx
lea ebx, [0x975880]
movzx eax, word [ebx + eax*2]
and eax, edx
movzx eax, ax
mov dword [esp + 0x98], eax
movzx edx, byte [ebp + 8]
and edx, 0x3f
mov ecx, edx
shl eax, cl
lea ebx, [ecx - 0x20]
mov ecx, ebx
mov ebp, dword [esp + 0x98]
shl ebp, cl
mov dword [esp + 0x94], ebp
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
mov dword [esp + 0x98], ebp
nop
cmp bl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x94]
and ebp, ebx
cmp cl, 0x20
sbb ebx, ebx
mov ecx, ebp
mov ebp, dword [esp + 0x98]
and ebp, ebx
or ecx, ebp
mov ebx, dword [esp + 0xf8]
or ecx, dword [ebx + 4]
cmp dl, 0x20
sbb ebp, ebp
and eax, ebp
or dword [ebx], eax
mov dword [ebx + 4], ecx
movzx ebp, byte [ebx + 8]
mov eax, ebx
mov ebx, dword [esp + 0x4c]
add ebx, ebp
mov byte [eax + 8], bl
mov ecx, dword [esp + 0x138]
cmp ecx, esi
jbe 0x6559a5
mov ebx, dword [esp + 0x134]
movzx ebx, word [ebx + esi*2]
mov word [esp + 0x140], bx
mov ebx, dword [esp + 0x144]
movzx ebp, word [esp + 0x154]
movzx eax, bp
lea ecx, [edi + eax]
shr ecx, 0x10
mov dword [esp + 0x48], ecx
mov eax, ecx
and eax, 0xf
mov edx, ecx
mov ecx, eax
mov esi, ebp
shr bp, cl
movzx ebp, bp
mov eax, ebx
mov ebx, dword [esp + 0x90]
add ebx, ebp
and edx, 0x1f
mov ecx, ebx
lea ebx, [0x975880]
movzx edx, word [ebx + edx*2]
and esi, edx
movzx edx, si
mov dword [esp + 0x98], edx
movzx esi, byte [eax + 8]
and esi, 0x3f
mov edi, ecx
mov ecx, esi
shl edx, cl
lea ebx, [ecx - 0x20]
mov ecx, ebx
mov ebp, dword [esp + 0x98]
shl ebp, cl
mov dword [esp + 0x94], ebp
neg ecx
mov ebp, dword [esp + 0x98]
shr ebp, cl
nop
cmp cl, 0x20
sbb ecx, ecx
and ecx, ebp
cmp bl, 0x20
sbb ebx, ebx
mov ebp, dword [esp + 0x94]
and ebx, ebp
or ebx, ecx
or ebx, dword [eax + 4]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
sbb ebp, ebp
and ebp, edx
or dword [eax], ebp
mov dword [eax + 4], ebx
movzx ebx, byte [eax + 8]
mov ebp, dword [esp + 0x48]
add ebx, ebp
mov byte [eax + 8], bl
mov ecx, dword [esp + 0x14c]
cmp ecx, edi
jbe 0x65599e
mov ebx, dword [esp + 0x148]
movzx ebx, word [ebx + edi*2]
mov word [esp + 0x154], bx
mov ebx, dword [esp + 0x15c]
cmp byte [ebx + 0x44], 0x20
jb 0x6551f0
mov ebp, dword [ebx + 0x50]
mov dword [esp + 0xa0], ebp
mov eax, dword [ebx + 0x4c]
add eax, 4
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x98], ecx
mov edx, ecx
shr ecx, 8
mov esi, edx
shr edx, 0x10
mov edi, dword [ebx + 0x40]
mov dword [esp + 0x94], edi
shl edi, 0x18
mov ebp, dword [esp + 0x94]
shl ebp, 0x10
mov dword [esp + 0x88], ebp
mov ebp, dword [esp + 0x94]
shl ebp, 8
shr esi, 0x18
mov ebx, dword [ebx + 0x48]
or ecx, edi
mov edi, ebx
mov ebx, dword [esp + 0x88]
or edx, ebx
or esi, ebp
mov ebx, dword [esp + 0xa0]
cmp ebx, eax
jae 0x655957
mov dword [esp + 0x94], esi
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x50], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65593b
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x48]
mov dword [edi + 4], ebp
mov dword [ebx + 0x48], ecx
mov esi, dword [esp + 0x94]
mov eax, edx
mov edi, ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x15c]
mov dword [ebx + 0x4c], eax
mov ebp, dword [esp + 0x98]
xchg ebp, ebx
mov byte [eax + edi - 4], bl
xchg ebp, ebx
mov byte [eax + edi - 3], cl
mov byte [eax + edi - 2], dl
xchg esi, ebx
mov byte [eax + edi - 1], bl
xchg esi, ebx
movzx ebp, byte [ebx + 0x44]
add ebp, 0xffffffe0
xchg ebp, eax
mov byte [ebx + 0x44], al
xchg ebp, eax
mov ebp, dword [ebx + 0x40]
mov dword [ebx + 0x3c], ebp
mov dword [ebx + 0x40], 0
jmp 0x6551f0
mov eax, edi
call fcn.004684c0
mov eax, esi
call fcn.004684c0
call fcn.004684c0
mov ecx, eax
mov eax, ebx
call fcn.004684c0
mov ecx, eax
mov eax, ebx
call fcn.004684c0
mov eax, ebx
mov ecx, ebp
call fcn.004684c0
mov ecx, ebx
call fcn.004684c0
mov ecx, 0x100
call fcn.00468500
mov ecx, 0x100
call fcn.00468500
mov ecx, 0x100
call fcn.00468500
mov ecx, edx
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
call fcn.00468500
nop
call fcn.00467050
jmp fcn.006528f0