Function at 0x663450
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xf4]
cmp eax, dword [ecx + 8]
jbe 0x664778
sub esp, 0x174
mov eax, 0
lea edi, [esp + 0xc8]
call fcn.0044c964
mov ecx, dword [esp + 0x184]
test ecx, ecx
je 0x664751
movzx edx, byte [0xac9898]
test dl, dl
je 0x664745
mov dword [0xac989c], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x66472e
mov eax, dword [esp + 0x188]
mov dword [0xac98a0], eax
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x664723
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x6634f4
or edx, 0x80
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004ab3d0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x94], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc4], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0xc0], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa4], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00663100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test ecx, ecx
jle 0x66471c
movzx ebx, byte [eax]
mov ebp, dword [esp + 0x17c]
test ebp, ebp
je 0x6646f7
mov byte [esp + 0x3e], bl
test ecx, ecx
jle 0x6646e2
mov dword [esp + 0x74], edx
mov esi, dword [esp + 0x178]
xor edi, edi
jmp 0x66359f
inc edi
mov edx, dword [esp + 0x74]
movzx ebx, byte [esp + 0x3e]
cmp edi, ecx
jge 0x664605
movzx ebx, byte [eax + edi]
test bl, bl
jbe 0x663595
movzx edx, byte [esi]
cmp dl, bl
jne 0x663595
mov eax, dword [esp + 0x180]
dec eax
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, esi
lea edx, [ebp - 1]
lea ebx, [esp + 8]
mov dword [esp + 0xbc], ebx
xor ebp, ebp
jmp 0x6635e3
mov ebx, dword [esp + 0x70]
lea ebp, [ebx + 1]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0xb0], eax
mov ebx, dword [esp + 0xc0]
mov dword [esp], ebx
mov esi, dword [esp + 0xc4]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x94]
mov dword [esp + 8], edi
call fcn.004acd20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x70]
cmp ecx, eax
jge 0x6645b6
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov edx, dword [esp + 0xc4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x94]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004ab550
mov eax, dword [esp + 0x18]
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0xb4], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004ae810
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa0], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
cmp eax, 0xb
ja 0x663ac6
cmp eax, 8
ja 0x66388e
cmp eax, 1
jne 0x663743
mov eax, dword [esp + 0x78]
cmp eax, 1
jl 0x663722
mov eax, dword [esp + 0xb0]
movzx ecx, byte [eax]
test cl, cl
setne cl
mov byte [esp + 0xc], cl
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.004ad880
mov eax, dword [esp + 0x7c]
dec eax
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 1
mov edx, dword [esp + 0xb0]
add eax, edx
mov edx, dword [esp + 0x78]
dec edx
jmp 0x6635dc
mov eax, dword [0xac91a0]
mov ecx, dword [0xac91a4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
cmp eax, 8
jne 0x6637db
mov eax, dword [esp + 0x78]
cmp eax, 1
jl 0x6637ba
mov eax, dword [esp + 0xb0]
movzx ecx, byte [eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.004adfe0
mov eax, dword [esp + 0x7c]
lea ecx, [eax - 1]
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov edx, dword [esp + 0xb0]
add ecx, edx
mov edx, dword [esp + 0x78]
dec edx
mov ebx, ecx
mov ecx, eax
mov eax, ebx
jmp 0x6635dc
mov eax, dword [0xac91a4]
mov ecx, dword [0xac91a0]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
mov eax, dword [esp + 0x50]
test eax, eax
je 0x6637e6
mov eax, dword [eax + 4]
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xfc], eax
lea eax, [0x7dba20]
mov dword [esp], eax
mov dword [esp + 4], 0x14
lea eax, [esp + 0xf8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bb700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00663290
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
cmp eax, 0xa
jne 0x663971
mov eax, dword [esp + 0x78]
cmp eax, 4
jge 0x663927
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
test cl, cl
je 0x663906
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x98], ebp
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call fcn.004adfe0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x98]
jmp 0x6635dc
mov eax, dword [0xac91a4]
mov ecx, dword [0xac91a0]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
mov esi, dword [esp + 0x7c]
lea edx, [esi - 4]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 4
mov edi, dword [esp + 0xb0]
lea ebp, [edi + edx]
lea ebx, [eax - 4]
movzx eax, byte [edi + 2]
mov ecx, esi
movzx esi, byte [edi + 3]
shl eax, 8
or eax, esi
movzx esi, byte [edi + 1]
shl esi, 0x10
or eax, esi
movzx esi, byte [edi]
shl esi, 0x18
or eax, esi
mov edx, ecx
mov ecx, 1
jmp 0x6638ae
cmp eax, 0xb
jne 0x6637db
mov eax, dword [esp + 0x78]
cmp eax, 8
jge 0x663a08
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
test al, al
je 0x6639e7
mov dword [esp + 0x44], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0x4c], ebx
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004adfe0
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x9c]
jmp 0x6635dc
mov eax, dword [0xac91a4]
mov ecx, dword [0xac91a0]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
mov edi, dword [esp + 0x7c]
lea ebx, [edi - 8]
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 8
mov ecx, edi
mov edi, dword [esp + 0xb0]
lea edx, [edi + ebx]
mov ebx, edi
lea edi, [eax - 8]
mov dword [esp + 0x44], edi
movzx ebp, byte [ebx + 4]
movzx esi, byte [ebx + 5]
mov dword [esp + 0x8c], esi
movzx edi, byte [ebx + 6]
mov dword [esp + 0x88], edi
shr esi, 0x10
shr edi, 0x18
or edi, esi
mov esi, ebp
shr ebp, 8
or ebp, edi
movzx edi, byte [ebx + 7]
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x88]
shl edi, 8
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
or edi, eax
mov eax, edi
mov edi, dword [esp + 0x8c]
shl edi, 0x10
or eax, edi
shl esi, 0x18
or esi, eax
movzx edi, byte [ebx + 3]
or ebp, edi
movzx edi, byte [ebx + 2]
shl edi, 8
or ebp, edi
movzx edi, byte [ebx + 1]
shl edi, 0x10
or ebp, edi
movzx edi, byte [ebx]
shl edi, 0x18
or ebp, edi
mov eax, 1
mov ebx, ecx
mov ecx, dword [esp + 0x44]
jmp 0x663993
cmp eax, 0x16
ja 0x663f0e
cmp eax, 0x11
je 0x663cb6
cmp eax, 0x16
jne 0x6637db
mov eax, dword [0xac9190]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
jne 0x663c68
mov dword [esp], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [0xac9194]
mov dword [esp + 8], eax
call fcn.00402ea0
movzx eax, byte [esp + 0xc]
test al, al
je 0x663c68
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.006662f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
movzx ebx, byte [esp + 0x1c]
mov ebp, dword [esp + 0x10]
test bl, bl
je 0x663c47
movzx ebx, byte [0xac9898]
test bl, bl
je 0x663c3c
lea ebx, [0x7d2000]
mov dword [0xac989c], ebx
mov esi, dword [0xadb480]
test esi, esi
jne 0x663c26
mov dword [0xac98a0], edx
mov dword [esp + 0x180], eax
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x178], ebp
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], edx
mov esi, dword [esp + 0xf0]
test esi, esi
je 0x663c1e
movzx edi, byte [esi + 0xf]
xchg edi, eax
mov byte [esp + 0x3f], al
xchg edi, eax
and edi, 0x1f
movzx ebx, byte [esp + 0x3f]
test bl, 0x20
jne 0x663bd3
or edi, 0x80
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edi
call fcn.004ad7a0
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
mov eax, dword [esp + 0x178]
jmp 0x6635dc
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x663bd3
lea edi, [0xac98a0]
mov esi, eax
mov eax, edx
call fcn.0044c870
mov eax, esi
jmp 0x663b88
lea ebx, [0x7d2000]
jmp 0x663b88
mov eax, dword [0xac91a0]
mov ecx, dword [0xac91a4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
lea eax, [0x7df4ca]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x1b
call fcn.00663290
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x663ec0
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x54]
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jl 0x663e9f
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x54]
mov edx, dword [esp + 0xa0]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x68], eax
xor ecx, ecx
jmp 0x663d4f
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
call fcn.004ad7a0
mov eax, dword [esp + 0x6c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x68]
cmp ecx, eax
jge 0x663e57
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004abb90
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
jae 0x664771
mov esi, dword [esp + 0xb0]
mov edi, esi
movzx esi, byte [esi + ebx]
lea ebp, [0xa9c380]
add esi, ebp
movzx ebp, byte [0xac9898]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x663e4f
lea ebp, [0x7718e0]
mov dword [0xac989c], ebp
mov ebx, dword [0xadb480]
test ebx, ebx
jne 0x663e2e
mov dword [0xac98a0], esi
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xcc], esi
mov ebx, dword [esp + 0xc8]
test ebx, ebx
je 0x663e23
movzx ebp, byte [ebx + 0xf]
xchg ebp, eax
mov byte [esp + 0x3f], al
xchg ebp, eax
and ebp, 0x1f
movzx edi, byte [esp + 0x3f]
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x663d28
or ebp, 0x80
jmp 0x663d28
xor ebp, ebp
xor esi, esi
xor ebx, ebx
jmp 0x663d28
mov dword [esp + 0x80], eax
mov ebx, edi
lea edi, [0xac98a0]
mov eax, esi
call fcn.0044c870
mov eax, dword [esp + 0x80]
mov edi, ebx
jmp 0x663de2
lea ebp, [0x7718e0]
jmp 0x663de2
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x54]
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
ja 0x66476a
mov ebx, dword [esp + 0x7c]
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov esi, dword [esp + 0xb0]
add ebx, esi
sub ecx, eax
mov edx, ecx
mov eax, ebx
mov ecx, ebp
jmp 0x6635dc
mov eax, dword [0xac91a0]
mov ecx, dword [0xac91a4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
lea eax, [0x7de107]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x19
call fcn.00663290
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
cmp eax, 0x17
je 0x66407e
cmp eax, 0x18
jne 0x6637db
mov eax, dword [esp + 0x78]
cmp eax, 4
jge 0x663ffb
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
test bl, bl
je 0x663faf
mov dword [esp + 0x60], ebp
mov dword [esp + 0x5c], esi
mov dword [esp + 0xa8], edi
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0043be30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 8], eax
call fcn.004ae160
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0xa8]
jmp 0x6635dc
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.00663290
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
mov ecx, dword [esp + 0x7c]
add ecx, 0xfffffffc
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
mov ebx, dword [esp + 0xb0]
add ecx, ebx
add eax, 0xfffffffc
movzx ebp, byte [ebx + 3]
movzx esi, byte [ebx + 2]
shl esi, 8
or ebp, esi
movzx esi, byte [ebx + 1]
shl esi, 0x10
or ebp, esi
movzx ebx, byte [ebx]
shl ebx, 0x18
or ebx, ebp
cmp eax, ebx
jae 0x66404d
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x663f3b
test ebx, ebx
jl 0x664763
sub eax, ebx
mov ebp, edx
sub ebp, ebx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
lea edi, [ebp + ecx]
mov ebp, esi
mov esi, eax
mov eax, ecx
mov ecx, ebx
mov ebx, 1
jmp 0x663f3b
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0xa0]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
je 0x664280
cmp eax, 0x18
jne 0x664232
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.00666070
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
test cl, cl
je 0x664211
mov dword [esp + 0x180], eax
mov dword [esp + 0x17c], esi
mov dword [esp + 0x178], edi
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], ebx
lea eax, [0x758c20]
mov dword [esp], eax
lea ecx, [esp + 0x100]
mov dword [esp + 4], ecx
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x664209
movzx edx, byte [0xac9898]
test dl, dl
je 0x664173
mov dword [0xac989c], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x6641f9
mov dword [0xac98a0], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov ecx, dword [esp + 0xe8]
test ecx, ecx
je 0x6641f1
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x6641a0
or edx, 0x80
mov ebx, dword [esp + 0xb4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ad7a0
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x6635dc
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6641a0
lea edi, [0xac98a0]
call fcn.0044c870
jmp 0x664173
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6641a0
mov eax, dword [0xac91a4]
mov ecx, dword [0xac91a0]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
lea eax, [0x7de59e]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x19
call fcn.00663290
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xa4]
mov dword [esp], ebx
call ecx
lea edi, [esp + 0x140]
mov esi, dword [esp + 0xbc]
call fcn.0044cdfe
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x7d44d5]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
call fcn.004a4350
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
cmp ecx, 4
jne 0x6642f4
mov eax, dword [eax]
cmp eax, 0x74736572
je 0x6644c2
mov eax, dword [esp + 0x78]
cmp eax, 4
jge 0x66443c
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
test bl, bl
je 0x66441b
mov dword [esp + 0xac], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
lea eax, [0x759560]
mov dword [esp], eax
lea ecx, [esp + 0x10c]
mov dword [esp + 4], ecx
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x664413
movzx edx, byte [0xac9898]
test dl, dl
je 0x664389
mov dword [0xac989c], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x664403
mov dword [0xac98a0], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0xe0]
test ecx, ecx
je 0x6643fb
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x6643b6
or edx, 0x80
mov ebx, dword [esp + 0xb4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ad7a0
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x64]
jmp 0x6641e6
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6643b6
lea edi, [0xac98a0]
call fcn.0044c870
jmp 0x664389
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6643b6
mov eax, dword [0xac91a0]
mov ecx, dword [0xac91a4]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
mov ecx, dword [esp + 0x7c]
add ecx, 0xfffffffc
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
mov ebx, dword [esp + 0xb0]
add ecx, ebx
add eax, 0xfffffffc
movzx ebp, byte [ebx + 1]
movzx esi, byte [ebx + 2]
movzx edi, byte [ebx + 3]
shl esi, 8
or edi, esi
shl ebp, 0x10
or ebp, edi
movzx ebx, byte [ebx]
shl ebx, 0x18
or ebx, ebp
cmp eax, ebx
jae 0x66448e
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x66430f
test ebx, ebx
jl 0x66475c
mov edi, edx
sub edi, ebx
mov ebp, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebx
lea esi, [edi + ecx]
sub eax, ebx
mov edi, ebp
mov ebp, esi
mov esi, eax
mov eax, edx
mov edx, ecx
mov ecx, ebx
mov ebx, 1
jmp 0x66430f
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x120], eax
lea eax, [0x759560]
mov dword [esp], eax
lea ecx, [esp + 0x118]
mov dword [esp + 4], ecx
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x6645ae
movzx edx, byte [0xac9898]
test dl, dl
je 0x664530
mov dword [0xac989c], ecx
mov edx, dword [0xadb480]
test edx, edx
jne 0x6645a1
mov dword [0xac98a0], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xd8]
test ecx, ecx
je 0x664599
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x66455d
or edx, 0x80
mov ebx, dword [esp + 0xb4]
mov dword [esp], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004ad7a0
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x6641e6
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x66455d
lea edi, [0xac98a0]
call fcn.0044c870
jmp 0x664530
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x66455d
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6645e8
movzx eax, byte [esp + 0x3e]
mov byte [esp], al
call fcn.00659c00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
add esp, 0x174
ret
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], edx
movzx eax, byte [esi]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0
lea ecx, [0x7718e0]
mov dword [esp + 0x130], ecx
lea ecx, [0xa9c380]
add eax, ecx
mov dword [esp + 0x134], eax
lea eax, [0x759560]
mov dword [esp], eax
lea eax, [esp + 0x124]
mov dword [esp + 4], eax
call fcn.004075a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
lea eax, [0x7e9469]
mov dword [esp], eax
mov dword [esp + 4], 0x34
lea eax, [esp + 0x130]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bb7b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], ecx
add esp, 0x174
ret
mov ecx, dword [esp + 0x180]
mov edx, ebp
mov eax, dword [esp + 0x178]
jmp 0x6635cd
mov byte [esp], bl
call fcn.00659c00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
add esp, 0x174
ret
xor ebx, ebx
jmp 0x66356b
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6634f4
lea edi, [0xac98a0]
mov eax, dword [esp + 0x188]
call fcn.0044c870
jmp 0x6634c3
mov eax, dword [esp + 0x188]
jmp 0x6634c3
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x6634f4
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426530
ud2
call fcn.00426430
ud2
call fcn.0044b110
jmp fcn.00663450