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

Disassembly:
sub esp, 0x1fc
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0x1f8], eax
push esi
mov esi, ecx
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xec], eax
nop
mov ecx, dword [esi]
mov dword [esp + 0x88], ecx
mov ch, ch
push eax
pop eax
mov edx, dword [esi + 0x44]
mov dword [esp + 0x44], edx
mov edi, edi
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd8], eax
mov esi, esi
mov ecx, dword [esi + 0x58]
mov dword [esp + 0xe8], ecx
nop
test edi, edi
fld qword [esi + 0x160]
fstp qword [esp + 0xf0]
mov ah, ah
mov edx, dword [esi + 0x48]
mov dword [esp + 0xe0], edx
test eax, 0x17bc
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xe4], eax
test ch, ch
mov dl, dl
mov ecx, ecx
mov cl, cl
mov ecx, dword [esi + 0x168]
push 0
push 0x101597f0
call fcn.1000a1e0
nop
test eax, eax
test al, al
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
mov dword [esp + 0xdc], eax
jg 0x1006c78b
push ebx
push ebp
push edi
mov edi, eax
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x30], 0
mov cl, cl
test ch, ch
mov edx, edx
cmp dword [esi + 0x16c], 0
jne 0x1006c788
mov ebp, dword [esp + 0x94]
lea ebx, [ebp + 0x325c]
push 0x3e8
push ebx
call fcn.1003bd70
add esp, 8
push ebx
pop ebx
test edi, edi
jl 0x1006c8e8
mov eax, dword [esp + 0xf8]
cmp edi, dword [eax + 8]
jge 0x1006c8e8
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + edi*4]
push 0
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xbc]
push edx
push edi
push ebp
call fcn.100693b0
add esp, 0x1c
test eax, eax
push ebx
jne 0x1006a362
call fcn.1003be00
add esp, 4
mov al, al
jmp 0x1006c666
call fcn.1003be00
add esp, 4
nop
mov eax, dword [esp + 0x30]
mov dword [esp + 0x90], eax
mov ebx, ebx
mov ebx, dword [esp + 0xb0]
cmp ebx, dword [esi + 0x20]
jg 0x1006c64c
mov edi, dword [esp + 0xb4]
cmp edi, dword [esi + 0x24]
jg 0x1006c64c
cmp dword [esi + 0x18], 0
jne 0x1006a3db
test edi, edi
jle 0x1006a4a9
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x40]
add edx, 3
test ebx, ebx
jle 0x1006a3cf
mov eax, edx
mov ecx, ebx
lea esp, [esp]
push edx
pop edx
mov byte [eax], 0
mov bl, bl
add eax, 4
sub ecx, 1
jne 0x1006a3c0
add edx, edi
sub esi, 1
jne 0x1006a3b1
jmp 0x1006a4a9
mov eax, edi
imul eax, dword [esp + 0x40]
push eax
call fcn.100f3e38
add esp, 4
mov dword [esp + 0x30], eax
xchg ebx, eax
xchg ebx, eax
test eax, eax
jne 0x1006a41d
cmp dword [esi + 0x10], eax
jne 0x1006a406
cmp dword [ebp + 0x32f4], eax
jne 0x1006c666
mov ecx, dword [esp + 0x90]
push ecx
call fcn.100f3efb
add esp, 4
mov edx, edx
jmp 0x1006c666
test edi, edi
jle 0x1006a4a9
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0xb4]
add eax, 1
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], ecx
test ebx, ebx
jle 0x1006a496
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov ebp, ebx
mov ecx, ecx
test ecx, ecx
movzx eax, byte [ecx + 1]
test ebx, ebx
movzx edx, byte [ecx]
mov esi, esi
movzx edi, byte [ecx - 1]
mov ch, ch
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov dl, dl
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
test al, al
add ecx, 4
add esi, 4
sub ebp, 1
jne 0x1006a454
mov eax, dword [esp + 0x40]
add dword [esp + 0x74], eax
add dword [esp + 0x70], eax
sub dword [esp + 0x14], 1
jne 0x1006a446
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x20]
fmul qword [0x10159740]
movzx eax, word [esp + 0x20]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0xdc]
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x70], edi
fldcw word [esp + 0x20]
mov ebx, ebx
test dh, dh
test eax, 0x2dc1
test ebx, ebx
xor ebp, ebp
mov dword [esp + 0x10], ebp
test ah, ah
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x3c]
add eax, 0x5c
push 0x101596f0
push eax
call fcn.100f6765
add esp, 0xc
test eax, 0x362c
movzx esi, byte [esp + 0x12]
add esi, edi
test ah, ah
movzx eax, byte [esp + 0x11]
add eax, edi
mov dword [esp + 0x24], eax
test edx, edx
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, edi
mov dword [esp + 0x20], eax
xchg ebx, eax
xchg ebx, eax
mov eax, eax
mov ebp, ebp
push edx
pop edx
test eax, 0x344f
mov eax, eax
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa8], ebp
test eax, 0x752a
lea eax, [ebx - 1]
mov dword [esp + 0xa4], eax
test edi, edi
mov dword [esp + 0x98], ebp
test esi, esi
mov dword [esp + 0xd8], ebp
mov cl, cl
mov edx, dword [esp + 0xb4]
lea ebp, [edx - 1]
mov dword [esp + 0x5c], ebp
mov cl, cl
mov dword [esp + 0xa0], eax
test cl, cl
mov dword [esp + 0x9c], ebp
mov ebp, ebp
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov dword [esp + 0x68], edi
test eax, 0x1f68
mov ecx, dword [eax + ebx*4 - 4]
mov dword [esp + 0x64], ecx
test eax, eax
lea eax, [edx - 1]
imul eax, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov edx, dword [eax + edx]
mov dword [esp + 0x58], edx
mov ecx, ecx
mov edx, dword [esp + 0x30]
lea eax, [eax + ebx*4]
mov eax, dword [eax + edx - 4]
mov dword [esp + 0x60], eax
test dh, dh
mov dword [esp + 0x6c], 0
test edi, edi
mov edx, edi
mov dword [esp + 0x74], edx
nop
cmp edi, ecx
jne 0x1006a7ca
mov edi, dword [esp + 0x58]
cmp ecx, edi
jne 0x1006a7ca
cmp edi, eax
jne 0x1006a7ca
mov dword [esp + 0x6c], 1
test edx, edx
xor ecx, ecx
cmp dword [esp + 0xb4], ecx
jle 0x1006a678
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
xor eax, eax
test ebx, ebx
jle 0x1006a660
lea esp, [esp]
push ebx
pop ebx
cmp dword [edi], edx
jne 0x1006a642
add eax, 1
add edi, 4
cmp eax, ebx
jl 0x1006a630
jmp 0x1006a660
mov edi, dword [edi]
mov dword [esp + 0x68], edi
test ecx, ecx
mov dword [esp + 0xa8], eax
test bl, bl
mov dword [esp + 0xd4], ecx
mov edx, edx
cmp eax, ebx
jl 0x1006a678
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x40]
add ecx, 1
cmp ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], edi
jl 0x1006a626
xor edi, edi
cmp dword [esp + 0xb4], edi
jle 0x1006a6e8
xor ecx, ecx
mov dword [esp + 0x14], ecx
lea esp, [esp]
lea eax, [ebx - 1]
test eax, eax
jl 0x1006a6d0
lea ecx, [ecx + eax*4]
add ecx, dword [esp + 0x30]
mov edi, edi
test dl, dl
cmp dword [ecx], edx
jne 0x1006a6b2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1006a6a0
jmp 0x1006a6d0
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
test ch, ch
mov dword [esp + 0xa4], eax
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x98], edi
mov bl, bl
test eax, eax
jge 0x1006a6e8
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x40]
add edi, 1
cmp edi, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
jl 0x1006a690
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x1006a758
mov eax, dword [esp + 0x40]
mov ecx, eax
neg ecx
mov dword [esp + 0x1c], ecx
mov ecx, edi
imul ecx, eax
add ecx, dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
nop
xor eax, eax
test ebx, ebx
jle 0x1006a745
mov cl, cl
cmp dword [ecx], edx
jne 0x1006a728
add eax, 1
add ecx, 4
cmp eax, ebx
jl 0x1006a716
jmp 0x1006a741
mov ecx, dword [ecx]
mov dword [esp + 0x58], ecx
test ah, ah
mov dword [esp + 0xd8], eax
mov dh, dh
mov ebp, edi
test bh, bh
cmp eax, ebx
jl 0x1006a754
mov ecx, dword [esp + 0x5c]
add ecx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
mov dword [esp + 0x5c], ecx
jge 0x1006a710
mov dword [esp + 0x5c], ebp
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x1006a7ca
mov eax, dword [esp + 0x40]
add ebx, 0xffffffff
mov dword [esp + 0x18], ebx
mov ebx, edi
imul ebx, eax
neg eax
mov dword [esp + 0x1c], eax
lea esp, [esp]
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x1006a7bf
lea ecx, [ebx + eax*4]
add ecx, dword [esp + 0x30]
nop
test dl, dl
cmp dword [ecx], edx
jne 0x1006a7a2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1006a790
jmp 0x1006a7bf
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
nop
mov dword [esp + 0xa0], eax
mov al, al
mov dword [esp + 0x9c], edi
test ah, ah
test eax, eax
jge 0x1006a7ca
add ebx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
jge 0x1006a780
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x1006af6d
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x24]
xor edi, edi
sub eax, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1006c609
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x20]
xor ecx, ecx
sub eax, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1006af4b
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], eax
jmp 0x1006a8a7
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov dh, dh
mov bh, bh
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
push eax
pop eax
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
test al, al
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
test bl, bl
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0xdc], ecx
push ebx
pop ebx
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ah, ah
movzx ebp, ah
mov dword [esp + 0x14], ebp
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x1c], eax
mov esi, esi
mov ebx, ebx
test eax, eax
test ah, ah
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x34], eax
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x4c], eax
test bl, bl
mov ebp, dword [esp + 0x1c]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test edi, edi
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006a976
mov dword [esp + 0x18], ecx
mov dl, dl
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006a996
mov dword [esp + 0x14], ecx
push ebx
pop ebx
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006a9b6
mov dword [esp + 0x1c], ecx
test eax, 0x3161
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x34]
jl 0x1006af22
cmp ecx, dword [esp + 0x18]
jg 0x1006af22
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x4c]
jl 0x1006af22
cmp ecx, dword [esp + 0x14]
jg 0x1006af22
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jl 0x1006af22
cmp ecx, dword [esp + 0x1c]
jg 0x1006af22
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ecx, dh
mov dword [esp + 0x18], ecx
push ebx
pop ebx
and edx, 0xff
mov dword [esp + 0x14], edx
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x4c], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x54], ecx
test eax, eax
and edx, 0xff
test ah, ah
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
test bl, bl
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x28], ecx
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006aaad
mov dword [esp + 0x1c], eax
mov dl, dl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006aacd
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006aaed
mov dword [esp + 0x14], ecx
test eax, 0x3161
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x1006af22
cmp eax, dword [esp + 0x1c]
jg 0x1006af22
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x28]
jl 0x1006af22
cmp eax, dword [esp + 0x18]
jg 0x1006af22
cmp edx, ebp
jl 0x1006af22
cmp edx, dword [esp + 0x14]
jg 0x1006af22
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edx, bh
push ebx
pop ebx
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov esi, esi
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x4c], ebx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x54], ebx
test bl, bl
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test bl, bl
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test edi, edi
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1006abd7
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1006abeb
mov dword [esp + 0x1c], edx
push ebx
pop ebx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1006ac06
mov edx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x54]
jl 0x1006af22
cmp ecx, dword [esp + 0x14]
jg 0x1006af22
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x1006af22
cmp eax, dword [esp + 0x1c]
jg 0x1006af22
cmp ebp, ebx
jl 0x1006af22
cmp ebp, edx
jg 0x1006af22
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0xdc]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ebx, ch
push ebx
pop ebx
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov esi, esi
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0xdc], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x54], edx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x28], ecx
test bl, bl
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x4c], ecx
test bl, bl
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
jle 0x1006acf3
mov eax, 0xff
mov dl, dl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006ad0f
mov dword [esp + 0x14], ebx
push ebx
pop ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1006ad2a
mov ebx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1006af22
cmp ecx, eax
jg 0x1006af22
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x4c]
jl 0x1006af22
cmp ecx, dword [esp + 0x14]
jg 0x1006af22
cmp ebp, edx
jl 0x1006af22
cmp ebp, ebx
jg 0x1006af22
test ch, ch
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x1006ae80
cmp dword [esp + 0x6c], eax
jne 0x1006ae80
cmp esi, eax
jne 0x1006ae80
cmp dword [esp + 0x24], eax
jne 0x1006ae80
cmp dword [esp + 0x20], eax
jne 0x1006ae80
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1006af11
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
nop
mov esi, esi
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1006ade8
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1006adec
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006add4
test eax, eax
je 0x1006ae49
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1006ae3b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006ae49
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1006ae3b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006ae49
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1006ae3b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006ae49
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x1006ae49
test ebx, ebx
mov eax, 1
jg 0x1006ae4b
or eax, 0xffffffff
jmp 0x1006ae4b
xor eax, eax
test eax, eax
jne 0x1006af11
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x1006adc0
jmp 0x1006af11
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1006af11
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
nop
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1006aef1
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [ebp + ebx*4]
push edx
mov edx, dword [edi]
push eax
push esi
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006aee8
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1006aeb0
jmp 0x1006aef1
cmp ebx, dword [esp + 0xb0]
jl 0x1006af11
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x1006aea0
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0xb4]
je 0x1006c689
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + 0x20]
sub edx, dword [esp + 0xb0]
add ecx, 1
cmp ecx, edx
mov dword [esp + 0x48], ecx
jle 0x1006a8a0
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0xb4]
add edi, 1
cmp edi, ecx
mov dword [esp + 0x44], edi
jle 0x1006a7f3
jmp 0x1006c609
cmp eax, 1
jne 0x1006b6fe
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1006c609
mov edi, edi
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x20]
xor ecx, ecx
sub edx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1006b6ec
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], eax
jmp 0x1006b047
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov ecx, ecx
test ah, ah
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
test edx, edx
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
test cl, cl
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov bh, bh
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov ch, ch
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ah, ah
movzx ebp, ah
mov dword [esp + 0x18], ebp
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x14], eax
mov esi, esi
mov ebx, ebx
test eax, eax
test ah, ah
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test bl, bl
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x2c], eax
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test edi, edi
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006b116
mov dword [esp + 0x1c], ecx
mov dl, dl
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006b136
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006b156
mov dword [esp + 0x14], ecx
test eax, 0x3161
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1006b6c3
cmp ecx, dword [esp + 0x1c]
jg 0x1006b6c3
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1006b6c3
cmp ecx, dword [esp + 0x18]
jg 0x1006b6c3
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1006b6c3
cmp ecx, dword [esp + 0x14]
jg 0x1006b6c3
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ecx, dh
mov dword [esp + 0x18], ecx
push ebx
pop ebx
and edx, 0xff
mov dword [esp + 0x14], edx
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
test eax, eax
and edx, 0xff
test ah, ah
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test bl, bl
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006b24d
mov dword [esp + 0x1c], eax
mov dl, dl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006b26d
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006b28d
mov dword [esp + 0x14], ecx
test eax, 0x3161
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1006b6c3
cmp eax, dword [esp + 0x1c]
jg 0x1006b6c3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1006b6c3
cmp eax, dword [esp + 0x18]
jg 0x1006b6c3
cmp edx, ebp
jl 0x1006b6c3
cmp edx, dword [esp + 0x14]
jg 0x1006b6c3
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edx, bh
push ebx
pop ebx
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov esi, esi
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test bl, bl
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test bl, bl
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test edi, edi
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1006b377
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1006b38b
mov dword [esp + 0x1c], edx
push ebx
pop ebx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1006b3a6
mov edx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1006b6c3
cmp ecx, dword [esp + 0x14]
jg 0x1006b6c3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1006b6c3
cmp eax, dword [esp + 0x1c]
jg 0x1006b6c3
cmp ebp, ebx
jl 0x1006b6c3
cmp ebp, edx
jg 0x1006b6c3
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ebx, ch
push ebx
pop ebx
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov esi, esi
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test bl, bl
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
test bl, bl
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
jle 0x1006b490
mov eax, 0xff
mov dl, dl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006b4ac
mov dword [esp + 0x14], ebx
push ebx
pop ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1006b4c7
mov ebx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1006b6c3
cmp ecx, eax
jg 0x1006b6c3
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1006b6c3
cmp ecx, dword [esp + 0x14]
jg 0x1006b6c3
cmp ebp, edx
jl 0x1006b6c3
cmp ebp, ebx
jg 0x1006b6c3
test ah, ah
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x1006b620
cmp dword [esp + 0x6c], ecx
jne 0x1006b620
cmp esi, ecx
jne 0x1006b620
cmp dword [esp + 0x24], ecx
jne 0x1006b620
cmp dword [esp + 0x20], ecx
jne 0x1006b620
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006b6b2
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
lea esp, [esp]
test dl, dl
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1006b588
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1006b58c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006b574
test eax, eax
je 0x1006b5e9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1006b5db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006b5e9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1006b5db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006b5e9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1006b5db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006b5e9
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x1006b5e9
test ebx, ebx
mov eax, 1
jg 0x1006b5eb
or eax, 0xffffffff
jmp 0x1006b5eb
xor eax, eax
test eax, eax
jne 0x1006b6b2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x1006b560
jmp 0x1006b6b2
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006b6b2
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov ebp, ebp
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1006b692
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [edi]
push eax
push ecx
mov ecx, dword [ebp + ebx*4]
push esi
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006b689
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1006b651
jmp 0x1006b692
cmp ebx, dword [esp + 0xb0]
jl 0x1006b6b2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], edx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x1006b640
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x1006c7a1
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0xb0]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x48], ecx
jle 0x1006b040
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x1006af90
jmp 0x1006c609
cmp eax, 2
jne 0x1006be8e
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x24]
xor edi, edi
sub edx, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1006c609
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1006be6c
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], eax
jmp 0x1006b7d7
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
test esi, esi
push ecx
pop ecx
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
test eax, 0x3d1a
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov dh, dh
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov cl, cl
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov bh, bh
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ah, ah
movzx ebp, ah
mov dword [esp + 0x18], ebp
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x14], eax
mov esi, esi
mov ebx, ebx
test eax, eax
test ah, ah
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test bl, bl
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x2c], eax
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test edi, edi
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006b8a9
mov dword [esp + 0x1c], ecx
mov dl, dl
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006b8c9
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006b8e9
mov dword [esp + 0x14], ecx
test eax, 0x3161
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1006be53
cmp ecx, dword [esp + 0x1c]
jg 0x1006be53
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1006be53
cmp ecx, dword [esp + 0x18]
jg 0x1006be53
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1006be53
cmp ecx, dword [esp + 0x14]
jg 0x1006be53
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ecx, dh
mov dword [esp + 0x18], ecx
push ebx
pop ebx
and edx, 0xff
mov dword [esp + 0x14], edx
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
test eax, eax
and edx, 0xff
test ah, ah
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test bl, bl
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006b9e0
mov dword [esp + 0x1c], eax
mov dl, dl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006ba00
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006ba20
mov dword [esp + 0x14], ecx
test eax, 0x3161
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1006be53
cmp eax, dword [esp + 0x1c]
jg 0x1006be53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1006be53
cmp eax, dword [esp + 0x18]
jg 0x1006be53
cmp edx, ebp
jl 0x1006be53
cmp edx, dword [esp + 0x14]
jg 0x1006be53
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edx, bh
push ebx
pop ebx
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov esi, esi
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test bl, bl
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test bl, bl
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test edi, edi
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1006bb0a
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1006bb1e
mov dword [esp + 0x1c], edx
push ebx
pop ebx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1006bb39
mov edx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1006be53
cmp ecx, dword [esp + 0x14]
jg 0x1006be53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1006be53
cmp eax, dword [esp + 0x1c]
jg 0x1006be53
cmp ebp, ebx
jl 0x1006be53
cmp ebp, edx
jg 0x1006be53
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ebx, ch
push ebx
pop ebx
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov esi, esi
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test bl, bl
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
test bl, bl
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
jle 0x1006bc23
mov eax, 0xff
mov dl, dl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006bc3f
mov dword [esp + 0x14], ebx
push ebx
pop ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1006bc5a
mov ebx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1006be53
cmp ecx, eax
jg 0x1006be53
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1006be53
cmp ecx, dword [esp + 0x14]
jg 0x1006be53
cmp ebp, edx
jl 0x1006be53
cmp ebp, ebx
jg 0x1006be53
test edi, edi
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x1006bdb0
cmp dword [esp + 0x6c], ecx
jne 0x1006bdb0
cmp esi, ecx
jne 0x1006bdb0
cmp dword [esp + 0x24], ecx
jne 0x1006bdb0
cmp dword [esp + 0x20], ecx
jne 0x1006bdb0
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006be42
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
lea esp, [esp]
test ah, ah
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1006bd18
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1006bd1c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006bd04
test eax, eax
je 0x1006bd79
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1006bd6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006bd79
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1006bd6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006bd79
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1006bd6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006bd79
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x1006bd79
test ebx, ebx
mov eax, 1
jg 0x1006bd7b
or eax, 0xffffffff
jmp 0x1006bd7b
xor eax, eax
test eax, eax
jne 0x1006be42
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x1006bcf0
jmp 0x1006be42
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006be42
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
test cl, cl
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1006be22
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [ebp + ebx*4]
push edx
mov edx, dword [edi]
push eax
push esi
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006be19
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1006bde1
jmp 0x1006be22
cmp ebx, dword [esp + 0xb0]
jl 0x1006be42
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x1006bdd0
mov edx, dword [esp + 0xb4]
cmp dword [esp + 0x1c], edx
je 0x1006c80d
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x1006b7d0
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0xb4]
add edi, 1
cmp edi, ecx
mov dword [esp + 0x44], edi
jle 0x1006b721
jmp 0x1006c609
cmp eax, 3
jne 0x1006c609
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1006c609
nop
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1006c5fc
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], eax
jmp 0x1006bf67
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov eax, eax
test esi, esi
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
push ebx
pop ebx
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
test dh, dh
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
test ecx, ecx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov edi, edi
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ah, ah
movzx ebp, ah
mov dword [esp + 0x18], ebp
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x14], eax
mov esi, esi
mov ebx, ebx
test eax, eax
test ah, ah
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test bl, bl
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x2c], eax
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test edi, edi
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006c036
mov dword [esp + 0x1c], ecx
mov dl, dl
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006c056
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006c076
mov dword [esp + 0x14], ecx
test eax, 0x3161
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1006c5e3
cmp ecx, dword [esp + 0x1c]
jg 0x1006c5e3
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1006c5e3
cmp ecx, dword [esp + 0x18]
jg 0x1006c5e3
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1006c5e3
cmp ecx, dword [esp + 0x14]
jg 0x1006c5e3
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ecx, dh
mov dword [esp + 0x18], ecx
push ebx
pop ebx
and edx, 0xff
mov dword [esp + 0x14], edx
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
test eax, eax
and edx, 0xff
test ah, ah
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test bl, bl
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
test bl, bl
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006c16d
mov dword [esp + 0x1c], eax
mov dl, dl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1006c18d
mov dword [esp + 0x18], ecx
push ebx
pop ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006c1ad
mov dword [esp + 0x14], ecx
test eax, 0x3161
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1006c5e3
cmp eax, dword [esp + 0x1c]
jg 0x1006c5e3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1006c5e3
cmp eax, dword [esp + 0x18]
jg 0x1006c5e3
cmp edx, ebp
jl 0x1006c5e3
cmp edx, dword [esp + 0x14]
jg 0x1006c5e3
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edx, bh
push ebx
pop ebx
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov esi, esi
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test bl, bl
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test bl, bl
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test edi, edi
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1006c297
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1006c2ab
mov dword [esp + 0x1c], edx
push ebx
pop ebx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1006c2c6
mov edx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1006c5e3
cmp ecx, dword [esp + 0x14]
jg 0x1006c5e3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1006c5e3
cmp eax, dword [esp + 0x1c]
jg 0x1006c5e3
cmp ebp, ebx
jl 0x1006c5e3
cmp ebp, edx
jg 0x1006c5e3
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx ebx, ch
push ebx
pop ebx
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov esi, esi
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
test eax, eax
mov ebp, ecx
and ebp, 0xff
test ah, ah
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test bl, bl
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
test bl, bl
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test edi, edi
add eax, esi
cmp eax, 0xff
jle 0x1006c3b0
mov eax, 0xff
mov dl, dl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006c3cc
mov dword [esp + 0x14], ebx
push ebx
pop ebx
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1006c3e7
mov ebx, ecx
test eax, 0x3161
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1006c5e3
cmp ecx, eax
jg 0x1006c5e3
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1006c5e3
cmp ecx, dword [esp + 0x14]
jg 0x1006c5e3
cmp ebp, edx
jl 0x1006c5e3
cmp ebp, ebx
jg 0x1006c5e3
test ch, ch
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x1006c540
cmp dword [esp + 0x6c], eax
jne 0x1006c540
cmp esi, eax
jne 0x1006c540
cmp dword [esp + 0x24], eax
jne 0x1006c540
cmp dword [esp + 0x20], eax
jne 0x1006c540
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1006c5d2
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
lea esp, [esp]
test edx, edx
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1006c4a8
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1006c4ac
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006c494
test eax, eax
je 0x1006c509
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1006c4fb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006c509
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1006c4fb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006c509
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1006c4fb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006c509
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x1006c509
test ebx, ebx
mov eax, 1
jg 0x1006c50b
or eax, 0xffffffff
jmp 0x1006c50b
xor eax, eax
test eax, eax
jne 0x1006c5d2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x1006c480
jmp 0x1006c5d2
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1006c5d2
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
push eax
pop eax
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1006c5b2
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [edi]
push eax
push ecx
mov ecx, dword [ebp + ebx*4]
push esi
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006c5a9
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1006c571
jmp 0x1006c5b2
cmp ebx, dword [esp + 0xb0]
jl 0x1006c5d2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], edx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x1006c560
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x1006c87c
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x1006bf60
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x1006beb0
mov esi, dword [esp + 0x38]
cmp dword [esi + 0x10], 0
jne 0x1006c623
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32f4], 0
jne 0x1006c635
mov edx, dword [esp + 0x90]
push edx
call fcn.100f3efb
add esp, 4
mov ah, ah
cmp dword [esi + 0x18], 0
je 0x1006c666
mov eax, dword [esp + 0x30]
push eax
call fcn.100f3efb
add esp, 4
test edi, edi
jmp 0x1006c666
cmp dword [esi + 0x10], 0
jne 0x1006c65b
cmp dword [ebp + 0x32f4], 0
jne 0x1006c666
push eax
call fcn.100f3efb
add esp, 4
mov al, al
mov edi, dword [esp + 0xe8]
mov esi, dword [esp + 0x38]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0xe8], edi
jle 0x1006a2d4
jmp 0x1006c788
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
test al, al
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
test ecx, ecx
test eax, 0x3fcb
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1006c6c8
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32f4], 0
jne 0x1006c6da
mov eax, dword [esp + 0x90]
push eax
call fcn.100f3efb
add esp, 4
mov ch, ch
cmp dword [ebx + 0x18], 0
je 0x1006c6ef
mov ecx, dword [esp + 0x30]
push ecx
call fcn.100f3efb
add esp, 4
test al, al
mov ebp, ebp
mov cl, 0x25
mov al, 0x64
mov dl, 0x7c
mov byte [esp + 0xfc], cl
mov byte [esp + 0xfd], al
mov byte [esp + 0xfe], dl
mov byte [esp + 0xff], cl
mov byte [esp + 0x100], al
mov byte [esp + 0x101], dl
mov byte [esp + 0x102], cl
mov byte [esp + 0x103], al
mov byte [esp + 0x104], 0
mov ah, ah
mov edx, dword [esp + 0xe8]
push edi
push esi
push edx
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x118]
push ecx
call fcn.100f5cb0
add esp, 0x14
test esi, esi
lea eax, [esp + 0x108]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006c767
mov ecx, dword [ebx + 0x168]
sub eax, edx
push eax
lea edx, [esp + 0x10c]
push edx
call fcn.1000a1e0
test ah, ah
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1fc]
pop esi
xor ecx, esp
call fcn.100f43d6
add esp, 0x1fc
ret
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xec]
lea esi, [edx + eax]
test bh, bh
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xf0]
lea edi, [ecx + edx]
push edx
pop edx
test bl, bl
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1006c7dd
mov eax, dword [esp + 0x94]
cmp dword [eax + 0x32f4], 0
jne 0x1006c7ef
mov ecx, dword [esp + 0x90]
push ecx
call fcn.100f3efb
add esp, 4
mov ebp, ebp
cmp dword [ebx + 0x18], 0
je 0x1006c6ef
mov edx, dword [esp + 0x30]
push edx
call fcn.100f3efb
add esp, 4
mov bl, bl
jmp 0x1006c6ef
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xec]
lea esi, [eax + ecx]
test edx, edx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0xf0]
lea edi, [edx + eax]
test eax, 0x4ca8
test cl, cl
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1006c84c
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32f4], 0
jne 0x1006c85e
mov edx, dword [esp + 0x90]
push edx
call fcn.100f3efb
add esp, 4
mov ch, ch
cmp dword [ebx + 0x18], 0
je 0x1006c6ef
mov eax, dword [esp + 0x30]
push eax
call fcn.100f3efb
add esp, 4
test edi, edi
jmp 0x1006c6ef
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
test dl, dl
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
test dl, dl
test ch, ch
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1006c8b8
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32f4], 0
jne 0x1006c8ca
mov eax, dword [esp + 0x90]
push eax
call fcn.100f3efb
add esp, 4
test cl, cl
cmp dword [ebx + 0x18], 0
je 0x1006c6ef
mov ecx, dword [esp + 0x30]
push ecx
call fcn.100f3efb
add esp, 4
test cl, cl
jmp 0x1006c6ef
jmp fcn.100e2ea6