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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x11c]
cmp eax, dword [ecx + 8]
jbe 0x662713
sub esp, 0x19c
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
mov ecx, dword [esp + 0x1a8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x1ac]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
call fcn.0065f5b0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
test edx, edx
jne 0x662529
test eax, eax
je 0x660760
mov eax, dword [esp + 0x1a4]
mov dword [esp], eax
mov eax, dword [esp + 0x1a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 8], eax
call fcn.0047aa80
mov eax, dword [esp + 0x10]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xbc], ecx
lea edx, [0x7e7400]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xb91180]
test eax, eax
jne 0x660750
lea ecx, [0x814e09]
mov dword [edi], ecx
mov ecx, dword [esp + 0xbc]
mov dword [edi + 8], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x660734
mov eax, dword [esp + 0x160]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
nop
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x6606f1
mov dword [esp], eax
call fcn.0065f150
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
add esp, 0x19c
ret
mov dword [esp], eax
lea ecx, [0x8b37f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x66072a
mov dword [edx + 0x4c], eax
mov eax, edx
jmp 0x6606cc
lea edi, [edx + 0x4c]
call fcn.0044f0d0
jmp 0x660726
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x160]
call fcn.0044f0d0
mov edi, edx
jmp 0x6606b1
lea eax, [0x814e09]
call fcn.0044f0d0
jmp 0x66068f
mov dword [esp + 0xb8], ebx
mov dword [esp + 0x15c], ebp
mov dword [esp + 0x158], esi
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0047aa80
mov eax, dword [esp + 0x10]
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x4c], ecx
nop
nop
mov edx, dword [esp + 0xb8]
mov ebx, edx
and edx, 0x1f
mov dword [esp + 0xb4], edx
cmp edx, 0x14
je 0x6624e0
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6623fb
nop
nop
cmp edx, 0x15
je 0x662179
cmp edx, 0x19
jne 0x66207c
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0066c710
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x160], ecx
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0x1a0]
mov ebx, dword [edx + 0x44]
mov dword [esp + 0xb0], ebx
mov ebp, dword [edx + 0x40]
mov dword [esp + 0x154], ebp
mov esi, dword [edx + 0x3c]
mov dword [esp + 0x150], esi
mov edi, dword [edx + 0x38]
mov dword [esp + 0xbc], edi
lea ebp, [edx + 0x3c]
mov dword [esp + 0x14c], ebp
lea esi, [edx + 0x40]
mov dword [esp + 0x148], esi
mov dword [esp + 0xe0], eax
xor eax, eax
mov dword [esp + 0x40], eax
xor eax, eax
mov dword [esp + 0xf0], eax
xor eax, eax
mov dword [esp + 0xec], eax
jmp 0x660ef7
mov edx, dword [esp + 0x7c]
lea edi, [edx + 1]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x134]
mov esi, dword [esp + 0x80]
mov ecx, edx
mov edx, ebx
mov ebx, ebp
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x160]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x80]
cmp edi, eax
jge 0x661f85
jae 0x6626ac
mov dword [esp + 0x7c], edi
lea eax, [edi + edi*8]
mov dword [esp + 0xa8], eax
shl eax, 3
mov dword [esp + 0xa4], eax
nop
mov edi, dword [eax + esi + 0xc]
mov ebp, dword [eax + esi + 0x10]
mov eax, dword [eax + esi + 8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.00401fe0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x160]
lea eax, [ecx + eax*8]
movzx edx, byte [esp + 0x18]
test dl, dl
jne 0x660997
mov ebx, dword [esp + 0x130]
test ebx, ebx
je 0x66092d
xor edx, edx
test dl, dl
jne 0x66085f
mov eax, ebx
jmp 0x66085f
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0xa4]
mov edx, dword [ecx + eax + 0x14]
mov ebx, dword [eax + ecx + 0xc]
mov ebp, dword [eax + ecx + 8]
mov eax, dword [eax + ecx + 0x10]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x10], ebx
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
mov esi, dword [edx]
call esi
movzx edx, byte [esp + 0x18]
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x130]
jmp 0x66091e
test eax, eax
je 0x661e2b
mov dword [esp + 0x130], eax
movzx edx, byte [eax + 0x41]
mov byte [esp + 0x2f], dl
mov ebx, dword [eax + 0x30]
mov dword [esp + 0xa8], ebx
mov ebp, dword [eax + 0x2c]
mov dword [esp + 0x144], ebp
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0x15c]
mov dword [esp + 0xd8], eax
xor eax, eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xd8]
jmp 0x660a59
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.00477470
mov eax, dword [esp + 0xa4]
inc eax
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x144]
mov ebx, dword [esp + 0xa8]
movzx edx, byte [esp + 0x2f]
mov ebp, dword [esp + 0x144]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xe8], ecx
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x160]
mov ecx, dword [esp + 0xa4]
cmp ecx, ebx
jge 0x661e12
mov dword [esp + 0x44], esi
mov eax, dword [ebp + ecx*4]
mov dword [esp + 0x78], eax
nop
nop
and esi, 0x1f
cmp esi, 0x16
jne 0x661e00
nop
nop
lea edx, [esi - 0x15]
cmp edx, 1
ja 0x661db8
mov edx, dword [esp + 0x44]
test edx, 0x200
je 0x660ac4
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.004772e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x6609f7
test edx, 0x80
je 0x661db1
mov esi, dword [edi]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x660a9c
nop
mov esi, edx
and edx, 0x160
cmp edx, 0x100
jne 0x660b85
mov dword [esp + 0xf4], edi
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.0047aa80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0047b920
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xe8]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf4]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.00479a20
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0xf4]
jmp 0x660a9c
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.0047aa80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x660bbb
mov ecx, dword [ecx + 4]
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
nop
lea eax, [0x82df2a]
mov dword [esp], eax
mov dword [esp + 4], 0x3a
lea ecx, [esp + 0x194]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x104], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x661da0
mov ecx, dword [esp + 0x104]
mov dword [edi], ecx
nop
mov ecx, dword [esp + 0x1a0]
mov edx, dword [ecx + 0x48]
test edx, edx
je 0x661d5a
xor eax, eax
xor edx, edx
xor ebx, ebx
xor ebp, ebp
mov byte [esp + 0x2f], al
mov esi, dword [esp + 0x130]
mov edi, edx
mov edx, dword [esi]
mov esi, dword [esi + 4]
mov dword [ecx + 0x44], esi
mov esi, dword [0xb91180]
test esi, esi
jne 0x661d3e
mov dword [ecx + 0x40], edx
mov edx, dword [esp + 0x4c]
mov dword [ecx + 0x38], edx
mov esi, dword [0xb91180]
test esi, esi
jne 0x661d16
mov esi, dword [esp + 0xfc]
mov dword [ecx + 0x3c], esi
mov byte [esp + 0xd0], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x124], ecx
mov dword [esp + 0xc0], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x120], edx
movzx eax, byte [esp + 0xd0]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x60], edi
mov dword [esp + 0x114], ebx
mov dword [esp + 0x110], ebp
mov byte [esp + 0x2f], al
cmp dword [ecx + 0x10], 9
je 0x661cd8
cmp dword [ecx + 0x10], 3
jne 0x662692
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.0065f270
movzx eax, byte [esp + 0x2f]
test al, al
je 0x661c74
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
call fcn.0065f4f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x661bed
cmp dword [ecx + 8], 0xe0ff5cb4
jne 0x660d8c
lea edx, [0x7abe80]
cmp edx, ecx
jne 0x661bde
mov ecx, dword [eax]
mov eax, dword [eax + 4]
je 0x661b49
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
call fcn.0047aa80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x660dbd
mov ecx, dword [ecx + 4]
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x184], ecx
mov dword [esp + 0x188], eax
nop
lea eax, [0x83062f]
mov dword [esp], eax
mov dword [esp + 4], 0x53
lea ecx, [esp + 0x184]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x108], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x58]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x661b38
mov ecx, dword [esp + 0x108]
mov dword [edi], ecx
nop
mov ecx, dword [esp + 0x1a0]
mov edx, dword [ecx + 0x48]
test edx, edx
je 0x661ad5
mov edx, dword [esp + 0xb4]
cmp edx, 0x15
nop
nop
je 0x661078
cmp dword [ecx + 0x10], 9
je 0x661055
mov ebx, dword [ecx + 0x10]
cmp ebx, 5
je 0x661038
cmp ebx, 4
jne 0x662640
mov ebx, dword [esp + 0xbc]
mov dword [ecx + 0x38], ebx
mov ebp, dword [esp + 0xb0]
mov dword [ecx + 0x44], ebp
mov esi, dword [0xb91180]
test esi, esi
jne 0x660fff
mov eax, dword [esp + 0x150]
mov dword [ecx + 0x3c], eax
mov esi, dword [esp + 0x154]
mov dword [ecx + 0x40], esi
mov edx, ecx
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x124]
mov dword [esp + 0xf0], edi
mov edi, dword [esp + 0x120]
mov dword [esp + 0xec], edi
mov dword [esp], edx
mov dword [esp + 4], 9
call fcn.0065f270
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax + 0x10]
cmp ecx, 5
je 0x661038
cmp ecx, 1
jne 0x6626d4
nop
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xac], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.0065f270
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
nop
mov ebx, dword [eax + 0xc]
dec ebx
test ebx, ebx
jl 0x6626cd
mov ebp, dword [esp + 0xac]
lea esi, [ebp - 1]
cmp esi, ebx
ja 0x6626cd
cmp ebx, ecx
ja 0x6626cd
sub ecx, esi
mov dword [esp + 0x74], ecx
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
add ecx, edx
mov dword [esp + 0x128], ecx
mov dword [esp], ecx
sub ebx, esi
mov dword [esp + 0x70], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00665d10
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test al, al
je 0x6626b3
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x134], ebx
nop
nop
mov ebp, dword [esp + 0xb4]
cmp ebp, 0x15
je 0x661f93
mov esi, dword [esp + 0x160]
mov eax, dword [esp + 0x80]
xor edi, edi
xor edi, edi
mov dword [esp + 0x130], edi
xor edi, edi
jmp 0x6608a4
mov edi, dword [esp + 0x14c]
mov eax, dword [esp + 0x150]
call fcn.0044f0d0
mov edi, dword [esp + 0x148]
mov eax, dword [esp + 0x154]
call fcn.0044f0d0
mov eax, dword [esp + 0x150]
mov esi, dword [esp + 0x154]
jmp 0x660ed1
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
add esp, 0x19c
ret
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.0065f270
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0xb4]
jmp 0x660e86
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x10c], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
cmp dword [esp + 4], 0x18
jne 0x6611ff
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
call fcn.00407a10
mov eax, dword [esp + 0xc]
nop
nop
movzx ecx, byte [0xb7dd58]
test cl, cl
je 0x6611f4
lea ecx, [0x7924c0]
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x6611e4
mov dword [0xb7dd60], eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
nop
mov edx, dword [esp + 0x16c]
test edx, edx
je 0x6611d9
nop
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x661141
or ebx, 0x80
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
call fcn.0047bce0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
nop
test eax, eax
jne 0x661188
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0xb4]
jmp 0x660e7c
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov ebp, dword [esp + 0x15c]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0xb8]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
call fcn.0047a050
jmp 0x661175
xor ebx, ebx
xor eax, eax
xor edx, edx
jmp 0x661141
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x66110b
lea ecx, [0x7924c0]
jmp 0x66110b
nop
lea eax, [0x8bd620]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jne 0x662674
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
call fcn.0046f090
lea eax, [0x8bd620]
test byte [eax], al
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov ecx, dword [0xb7d540]
mov edx, dword [0xb7d544]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046f3d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x661a0b
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
lea ecx, [eax - 2]
cmp ecx, 4
jbe 0x66162e
add eax, 0xfffffff9
cmp eax, 5
ja 0x66265a
mov dword [esp], 0
mov eax, dword [esp + 0x134]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
call fcn.0043dd50
mov eax, dword [esp + 0x10]
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.004584b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x6614ef
mov ecx, 1
test cl, cl
je 0x661422
lea eax, [0x7e7400]
mov dword [esp], eax
call fcn.00409f80
mov eax, dword [esp + 4]
mov dword [esp + 0x140], eax
mov dword [esp], 0
lea ecx, [0x815265]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x11c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x10], edx
call fcn.0043dbd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x140]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x661416
mov dword [edi], ecx
mov ecx, dword [esp + 0x5c]
mov dword [edi + 8], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x6613fa
mov ecx, dword [esp + 0x10c]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0xac]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
nop
mov ecx, dword [esp + 0x1a0]
mov edx, dword [ecx + 0x48]
test edx, edx
je 0x6613b7
xor eax, eax
xor edx, edx
xor ebx, ebx
mov ecx, edx
mov edx, ebx
jmp 0x661170
mov dword [esp], ecx
lea eax, [0x8b37f0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x6613f0
mov dword [edx + 0x4c], eax
mov ecx, edx
jmp 0x6613a8
lea edi, [edx + 0x4c]
call fcn.0044f0d0
jmp 0x6613ec
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x10c]
call fcn.0044f0d0
mov edi, edx
jmp 0x661389
mov eax, ecx
call fcn.0044f0d0
jmp 0x66136e
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00407920
mov eax, dword [esp + 8]
nop
nop
movzx ecx, byte [0xb7dd58]
test cl, cl
je 0x6614e4
lea ecx, [0x7ac100]
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x6614d4
mov dword [0xb7dd60], eax
mov dword [esp + 0x17c], ecx
mov dword [esp + 0x180], eax
nop
mov edx, dword [esp + 0x17c]
test edx, edx
je 0x6614cc
nop
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x661491
or ebx, 0x80
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
call fcn.0047bce0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1a0]
jmp 0x6613ae
xor ebx, ebx
xor eax, eax
xor edx, edx
jmp 0x661491
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x66145f
lea ecx, [0x7ac100]
jmp 0x66145f
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
call fcn.0047b850
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
nop
nop
and ecx, 0x1f
lea edx, [ecx - 7]
cmp edx, 5
ja 0x6615e6
mov ebx, dword [eax]
shl ebx, 3
add ebx, 0xffffffc0
neg ebx
mov dword [esp + 0xa0], ebx
lea ecx, [ebx - 0x20]
mov ebp, ecx
neg ecx
mov dword [esp + 0x9c], ecx
cmp ecx, 0x20
sbb esi, esi
mov dword [esp + 0x98], esi
cmp ebx, 0x20
sbb edi, edi
mov dword [esp + 0x94], edi
cmp ebp, 0x20
mov eax, ebp
sbb ebp, ebp
mov edx, dword [esp + 0x34]
shr edx, cl
and edx, esi
mov ecx, ebx
mov esi, dword [esp + 0x3c]
shl esi, cl
and esi, edi
mov ecx, eax
mov edi, dword [esp + 0x34]
shl edi, cl
and edi, ebp
or esi, edx
or esi, edi
mov ecx, ebx
mov edi, esi
shr esi, cl
mov ebx, dword [esp + 0x94]
and esi, ebx
mov edx, ebx
mov ebx, dword [esp + 0x3c]
cmp esi, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
mov ecx, eax
mov eax, edi
shr edi, cl
and edi, ebp
mov ecx, dword [esp + 0x9c]
shl eax, cl
mov ebp, dword [esp + 0x98]
and eax, ebp
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x34]
shl ebp, cl
and ebp, edx
shr ebp, cl
and ebp, edx
or ebp, eax
or ebp, edi
mov edx, dword [esp + 0x34]
cmp ebp, edx
setne cl
or ecx, esi
mov eax, ebx
jmp 0x6612fa
mov dword [esp + 0xb8], ecx
nop
lea eax, [0x7d0600]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x1a
mov eax, dword [0xb91180]
test eax, eax
jne 0x66161e
lea eax, [0x81f189]
mov dword [edi], eax
jmp 0x6625c8
lea eax, [0x81f189]
call fcn.0044f0d0
jmp 0x6625c8
mov dword [esp], 0
mov eax, dword [esp + 0x134]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
call fcn.0043dd50
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x118], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0x40
call fcn.00458d10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x661892
mov edx, 1
test dl, dl
je 0x6617c5
lea eax, [0x7e7400]
mov dword [esp], eax
call fcn.00409f80
mov eax, dword [esp + 4]
mov dword [esp + 0x140], eax
mov dword [esp], 0
lea ecx, [0x815265]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
mov edx, dword [esp + 0x118]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x10], edx
call fcn.0043dbd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x140]
mov dword [edi + 4], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x6617bb
mov dword [edi], eax
mov ecx, dword [esp + 0x5c]
mov dword [edi + 8], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x66179f
mov ecx, dword [esp + 0x10c]
mov dword [edi + 0xc], ecx
mov ecx, dword [esp + 0xac]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
nop
mov ecx, dword [esp + 0x1a0]
mov edx, dword [ecx + 0x48]
test edx, edx
je 0x66175c
xor eax, eax
xor edx, edx
xor ebx, ebx
jmp 0x6613ae
mov dword [esp], ecx
lea eax, [0x8b37f0]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x661795
mov dword [edx + 0x4c], eax
mov ecx, edx
jmp 0x661751
lea edi, [edx + 0x4c]
call fcn.0044f0d0
jmp 0x661791
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x10c]
call fcn.0044f0d0
mov edi, edx
jmp 0x661732
call fcn.0044f0d0
jmp 0x661717
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407920
mov eax, dword [esp + 8]
nop
nop
movzx ecx, byte [0xb7dd58]
test cl, cl
je 0x661887
lea ecx, [0x7ab3c0]
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x661877
mov dword [0xb7dd60], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
nop
mov edx, dword [esp + 0x164]
test edx, edx
je 0x66186f
nop
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x661834
or ebx, 0x80
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x10], eax
call fcn.0047bce0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1a0]
jmp 0x6613ae
xor ebx, ebx
xor eax, eax
xor edx, edx
jmp 0x661834
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x661802
lea ecx, [0x7ab3c0]
jmp 0x661802
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
call fcn.0047b850
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 8]
nop
nop
and eax, 0x1f
lea edx, [eax - 2]
cmp edx, 4
ja 0x6619c3
mov ebx, dword [ecx]
shl ebx, 3
lea ecx, [ebx - 0x40]
neg ecx
mov dword [esp + 0xa0], ecx
cmp ecx, 0x20
sbb ebx, ebx
lea ebp, [ecx - 0x20]
cmp ebp, 0x20
sbb esi, esi
mov edi, ecx
shr ecx, 5
cmp ecx, 1
mov eax, esi
sbb esi, esi
mov dword [esp + 0x9c], esi
cmp edi, 0x20
sbb esi, esi
mov dword [esp + 0x98], esi
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb esi, esi
not ebx
or ebx, edi
mov dword [esp + 0x90], ebx
mov ecx, edi
mov ebx, dword [esp + 0x38]
shl ebx, cl
mov ecx, edx
mov edi, dword [esp + 0x30]
shl edi, cl
and edi, eax
mov dword [esp + 0x94], edi
mov ecx, ebp
mov edi, dword [esp + 0x30]
shr edi, cl
mov ebp, dword [esp + 0x98]
and ebx, ebp
and edi, esi
or ebx, edi
mov edi, dword [esp + 0x94]
or ebx, edi
mov dword [esp + 0x98], ebx
mov edi, ecx
mov ecx, dword [esp + 0x90]
sar ebx, cl
mov ecx, esi
mov esi, dword [esp + 0x38]
cmp ebx, esi
setne bl
not eax
or eax, edx
mov edx, ecx
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x30]
shl esi, cl
and esi, ebp
shr esi, cl
and esi, ebp
mov ecx, edi
mov ebp, dword [esp + 0x98]
mov edi, ebp
shl ebp, cl
and ebp, edx
or ebp, esi
mov ecx, eax
sar edi, cl
mov esi, dword [esp + 0x9c]
xor esi, 0xffffffff
and esi, edi
or esi, ebp
mov eax, dword [esp + 0x30]
cmp esi, eax
setne dl
or edx, ebx
mov ecx, dword [esp + 0x38]
jmp 0x6616a3
mov dword [esp + 0xb8], eax
nop
lea eax, [0x7d0600]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x19
mov eax, dword [0xb91180]
test eax, eax
jne 0x6619fb
lea eax, [0x81e6f9]
mov dword [edi], eax
jmp 0x6625e6
lea eax, [0x81e6f9]
call fcn.0044f0d0
jmp 0x6625e6
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 4], eax
call fcn.0047b920
mov eax, dword [esp + 8]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x138], edx
mov ebx, dword [esp + 0x1a0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x128]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x70]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x74]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov byte [esp + 0x1c], 1
call fcn.006628f0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x661ac0
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.004772e0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x661170
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
add esp, 0x19c
ret
mov dword [esp], ecx
lea eax, [0x8b3870]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x661b22
mov dword [edx + 0x4c], ecx
mov ecx, dword [esp + 0xb4]
cmp ecx, 0x15
mov ecx, edx
mov edx, dword [esp + 0xb4]
jmp 0x660e74
lea edi, [edx + 0x4c]
mov eax, ecx
call fcn.0044f0d0
mov ecx, dword [esp + 0xb4]
cmp ecx, 0x15
jmp 0x661b14
mov eax, dword [esp + 0x108]
call fcn.0044f0d0
jmp 0x660e57
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043dea0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x1a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x14], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], 1
call fcn.006628f0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x661bc9
mov edx, dword [esp + 0xb4]
cmp edx, 0x15
mov ecx, dword [esp + 0x1a0]
jmp 0x660e74
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
add esp, 0x19c
ret
mov eax, 0
mov ecx, 0
jmp 0x660d86
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
mov ecx, dword [0xb773a0]
mov edx, dword [0xb773a4]
mov ebx, dword [0xb773a8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x18], ebx
mov byte [esp + 0x1c], 0
call fcn.006628f0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x661c5f
mov edx, dword [esp + 0xb4]
cmp edx, 0x15
mov ecx, dword [esp + 0x1a0]
jmp 0x660e74
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
add esp, 0x19c
ret
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.0065f330
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x661cc3
mov edx, dword [esp + 0xb4]
cmp edx, 0x15
mov ecx, dword [esp + 0x1a0]
jmp 0x660e74
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1b4], eax
add esp, 0x19c
ret
mov dword [esp], ecx
mov dword [esp + 4], 9
call fcn.0065f270
movzx eax, byte [esp + 0x2f]
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x114]
mov ebp, dword [esp + 0x110]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0x60]
jmp 0x660d24
mov esi, edi
mov edi, dword [esp + 0x14c]
mov eax, dword [esp + 0xfc]
call fcn.0044f0d0
movzx eax, byte [esp + 0x2f]
mov edi, esi
mov esi, dword [esp + 0xfc]
jmp 0x660cb5
mov esi, edi
mov edi, dword [esp + 0x148]
mov eax, edx
call fcn.0044f0d0
movzx eax, byte [esp + 0x2f]
mov edi, esi
jmp 0x660c96
mov dword [esp], ecx
lea eax, [0x8b3870]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x661d96
mov dword [edx + 0x4c], eax
mov ecx, edx
jmp 0x660c68
lea edi, [edx + 0x4c]
call fcn.0044f0d0
jmp 0x661d8f
mov eax, dword [esp + 0x104]
call fcn.0044f0d0
jmp 0x660c55
mov esi, edi
jmp 0x660ad2
mov dword [esp + 0xb8], esi
nop
lea eax, [0x7d0600]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xb91180]
test eax, eax
jne 0x661df0
lea eax, [0x81a7cb]
mov dword [edi], eax
jmp 0x662604
lea eax, [0x81a7cb]
call fcn.0044f0d0
jmp 0x662604
mov ecx, edi
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x44]
jmp 0x6609f7
mov ecx, dword [esp + 0x1a0]
mov eax, edx
mov edx, esi
mov ebx, edi
mov ebp, dword [esp + 0xe8]
jmp 0x660c70
mov eax, dword [esp + 0x1a0]
movzx edx, byte [eax + 0x51]
test dl, dl
jne 0x661e54
mov ecx, eax
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0xfc]
xor eax, eax
xor edi, edi
xor ebx, ebx
xor ebp, ebp
jmp 0x660cb5
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
call fcn.00407a10
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
lea ecx, [0x7924c0]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
nop
lea eax, [0x81c56d]
mov dword [esp], eax
mov dword [esp + 4], 0x16
lea edx, [esp + 0x18c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x100], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x50]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x661f77
mov eax, dword [esp + 0x100]
mov dword [edi], eax
nop
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x661f34
mov ecx, dword [esp + 0x160]
jmp 0x661e3a
mov dword [esp], eax
lea ecx, [0x8b3870]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x661f6d
mov dword [edx + 0x4c], eax
mov eax, edx
jmp 0x661f28
lea edi, [edx + 0x4c]
call fcn.0044f0d0
jmp 0x661f69
mov eax, dword [esp + 0x100]
call fcn.0044f0d0
jmp 0x661f19
mov ecx, esi
mov eax, dword [esp + 0x130]
jmp 0x660997
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
nop
mov edx, dword [esp + 0x40]
test edx, edx
je 0x662046
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0047b850
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x40]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.00479a20
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x124], ecx
mov dword [esp + 0x120], edx
xor eax, eax
mov edi, dword [esp + 0x6c]
mov ebx, ecx
mov ebp, edx
mov ecx, dword [esp + 0x1a0]
mov edx, dword [esp + 0x4c]
jmp 0x660d04
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0047b920
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004772e0
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x662013
lea eax, [0x7e7400]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xb91180]
test eax, eax
jne 0x662169
lea ecx, [0x814e09]
mov dword [edi], ecx
mov ecx, dword [esp + 0x4c]
mov dword [edi + 8], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x66214d
mov eax, dword [esp + 0xfc]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
nop
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x66210a
mov dword [esp], eax
call fcn.0065f150
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
add esp, 0x19c
ret
mov dword [esp], eax
lea ecx, [0x8b37f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x662143
mov dword [edx + 0x4c], eax
mov eax, edx
jmp 0x6620e5
lea edi, [edx + 0x4c]
call fcn.0044f0d0
jmp 0x66213f
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xfc]
call fcn.0044f0d0
mov edi, edx
jmp 0x6620ca
lea eax, [0x814e09]
call fcn.0044f0d0
jmp 0x6620ab
mov edx, dword [ecx + 0x4c]
mov dword [esp], eax
call edx
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]
lea ecx, [eax - 2]
cmp ecx, 0xa
ja 0x66228c
nop
nop
mov eax, dword [esp + 0xb4]
lea ecx, [eax - 0x15]
cmp ecx, 1
ja 0x66224b
mov ecx, dword [esp + 0xb8]
test ecx, 0x200
je 0x6621ce
xor ecx, ecx
xor eax, eax
jmp 0x6607ea
test ecx, 0x80
je 0x662240
mov edx, dword [esp + 0x15c]
mov ebx, dword [edx]
test ebx, ebx
setne bl
xor ebx, 1
test bl, bl
je 0x6621c5
nop
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.0047b6d0
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 8], edx
call fcn.00479a20
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
jmp 0x6621c5
mov edx, dword [esp + 0x15c]
mov ebx, edx
jmp 0x6621df
nop
lea eax, [0x7d0600]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xb91180]
test eax, eax
jne 0x66227c
lea eax, [0x81a7cb]
mov dword [edi], eax
jmp 0x662622
lea eax, [0x81a7cb]
call fcn.0044f0d0
jmp 0x662622
cmp eax, 0x18
je 0x6621a1
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x4c]
mov edx, dword [esp + 0xfc]
mov dword [esp], edx
call ecx
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [0x8bd620]
cmp eax, edx
jne 0x6626ee
mov dword [esp], ecx
call fcn.0046f090
lea eax, [0x8bd620]
test byte [eax], al
mov ecx, dword [esp + 4]
mov dword [esp], ecx
mov ecx, dword [0xb7d540]
mov edx, dword [0xb7d544]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0046f3d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x6621a1
lea eax, [0x7e7400]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 6
mov eax, dword [0xb91180]
test eax, eax
jne 0x6623eb
lea ecx, [0x814e09]
mov dword [edi], ecx
mov ecx, dword [esp + 0x4c]
mov dword [edi + 8], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x6623cf
mov eax, dword [esp + 0xfc]
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax + 0xc]
mov dword [edi + 0x10], ecx
sar ecx, 0x1f
mov dword [edi + 0x14], ecx
nop
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x66238a
mov dword [esp], eax
call fcn.0065f150
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
add esp, 0x19c
ret
mov dword [esp], eax
lea ecx, [0x8b37f0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0065f050
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1a0]
mov dword [edx + 0x48], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x6623c3
mov dword [edx + 0x4c], ecx
mov eax, edx
jmp 0x662365
lea edi, [edx + 0x4c]
mov eax, ecx
call fcn.0044f0d0
jmp 0x6623bf
lea ecx, [edi + 0xc]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xfc]
call fcn.0044f0d0
mov edi, edx
jmp 0x66234a
lea eax, [0x814e09]
call fcn.0044f0d0
jmp 0x66232b
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
call fcn.00665790
mov eax, dword [esp + 4]
nop
nop
movzx ecx, byte [0xb7dd58]
test cl, cl
je 0x6624d5
lea ecx, [0x7b0480]
mov dword [0xb7dd5c], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x6624c5
mov dword [0xb7dd60], eax
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], eax
nop
mov ecx, dword [esp + 0x174]
test ecx, ecx
je 0x6624bd
nop
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x66246f
or edx, 0x80
mov ebx, dword [esp + 0x158]
mov dword [esp], ebx
mov ebx, dword [esp + 0x15c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.00479a20
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
add esp, 0x19c
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x66246f
lea edi, [0xb7dd60]
call fcn.0044f0d0
jmp 0x66243f
lea ecx, [0x7b0480]
jmp 0x66243f
mov eax, dword [esp + 0x158]
mov dword [esp], eax
mov ecx, dword [esp + 0x15c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00478d90
mov eax, dword [esp + 0xc]
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb8]
jmp 0x6607b8
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x48], edx
nop
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax + 0xc]
mov dword [esp + 0xb0], ecx
mov dword [esp], eax
call fcn.0065f150
mov eax, dword [esp + 0x1a0]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
test eax, eax
jl 0x66270c
mov ebx, dword [esp + 0xb0]
dec ebx
cmp ebx, eax
ja 0x66270c
cmp eax, edx
ja 0x66270c
mov ebp, dword [esp + 0x48]
mov ebp, dword [ebp + 0x10]
mov esi, dword [esp + 0xf8]
mov dword [esp], esi
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebx
add ecx, edx
mov dword [esp + 4], ecx
sub eax, ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call ebp
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1b4], eax
add esp, 0x19c
ret
mov eax, dword [esp + 0xb8]
mov dword [edi + 8], eax
lea eax, [0x7bac40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00429580
ud2
mov eax, dword [esp + 0xb8]
mov dword [edi + 8], eax
lea eax, [0x7bac40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00429580
ud2
mov eax, dword [esp + 0xb8]
mov dword [edi + 8], eax
lea eax, [0x7bac40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00429580
ud2
mov eax, dword [esp + 0xb4]
mov dword [edi + 8], eax
lea eax, [0x7bac40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00429580
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8acb70]
mov dword [esp + 4], eax
call fcn.00429580
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8acb68]
mov dword [esp + 4], eax
call fcn.00429580
ud2
mov dword [esp], ecx
lea eax, [0x80e3c0]
mov dword [esp + 4], eax
lea eax, [0x804860]
mov dword [esp + 8], eax
call fcn.00407710
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8acb60]
mov dword [esp + 4], eax
call fcn.00429580
ud2
call fcn.004287c0
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8acb58]
mov dword [esp + 4], eax
call fcn.00429580
ud2
call fcn.004288c0
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8acb50]
mov dword [esp + 4], eax
call fcn.00429580
ud2
mov dword [esp], eax
lea eax, [0x80e3c0]
mov dword [esp + 4], eax
lea eax, [0x804860]
mov dword [esp + 8], eax
call fcn.00407710
ud2
call fcn.004288c0
ud2
call fcn.0044d880
jmp fcn.006605b0