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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0x144], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
push edi
mov dword [esp + 0x48], esi
mov dword [esp + 0xf0], eax
mov dl, dl
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov bh, bh
mov dh, dh
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
test esi, esi
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
mov edi, edi
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
test esi, esi
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
mov esi, esi
test cl, cl
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
mov ecx, ecx
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
test eax, eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
test edi, edi
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
mov edi, edi
push 0
push 0x101597f0
call fcn.1000a1e0
test edi, edi
mov dl, dl
test esi, esi
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x1006feb9
push ebp
jmp 0x1006d727
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x1006feb8
mov ecx, dword [esi + 0x24]
imul ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xd8]
push ecx
push edx
push eax
call fcn.100f61f0
add esp, 0xc
mov ecx, ecx
mov ecx, ecx
mov dword [esp + 0x38], 0
xchg ebx, eax
xchg ebx, eax
push ecx
pop ecx
test eax, 0x2f5e
lea ebp, [ebx + 0x325c]
push 0x3e8
push ebp
call fcn.1003bd70
add esp, 8
test edx, edx
test edi, edi
jl 0x1006fed1
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x1006fed1
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + edi*4]
push 0
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0xa0]
push edx
push edi
push ebx
call fcn.100693b0
add esp, 0x1c
test eax, eax
push ebp
jne 0x1006d7d4
call fcn.1003be00
add esp, 4
mov ch, ch
jmp 0x1006fe9a
call fcn.1003be00
add esp, 4
mov edi, edi
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov esi, esi
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x1006fe80
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x1006fe80
cmp dword [esi + 0x18], 0
jne 0x1006d84b
test edi, edi
jle 0x1006d919
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x1006d83f
mov eax, edx
mov ecx, ebp
lea esp, [esp]
mov edx, edx
mov byte [eax], 0
test ah, ah
add eax, 4
sub ecx, 1
jne 0x1006d830
add edx, edi
sub esi, 1
jne 0x1006d824
jmp 0x1006d919
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.100f3e38
add esp, 4
mov dword [esp + 0x38], eax
mov dl, dl
test eax, eax
jne 0x1006d88d
cmp dword [esi + 0x10], eax
jne 0x1006d876
cmp dword [ebx + 0x32f4], eax
jne 0x1006fe9a
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100f3efb
add esp, 4
mov dl, dl
jmp 0x1006fe9a
test edi, edi
jle 0x1006d919
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x98]
add eax, 1
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
test ebp, ebp
jle 0x1006d906
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
mov edi, edi
test cl, cl
movzx eax, byte [ecx + 1]
mov bl, bl
movzx edx, byte [ecx]
mov al, al
movzx edi, byte [ecx - 1]
test ecx, ecx
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
test ch, ch
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov edi, edi
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x1006d8c4
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x1006d8b6
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x10159740]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x74], esi
fldcw word [esp + 0x18]
test eax, 0x1dd3
push eax
pop eax
mov ch, ch
push ecx
pop ecx
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ebp, ebp
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x101596f0
push eax
call fcn.100f6765
add esp, 0xc
mov ebx, ebx
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
test eax, 0x55e1
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
test ebx, ebx
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
mov dl, dl
test ebx, ebx
mov esi, esi
test ebx, ebx
test edi, edi
test ebx, ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
push ecx
pop ecx
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
test eax, eax
mov dword [esp + 0xc4], ebx
mov bl, bl
mov dword [esp + 0xc0], ebx
mov cl, cl
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xd0], ecx
test ah, ah
mov dword [esp + 0xc8], eax
test eax, 0x1ebc
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
test al, al
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
test eax, eax
mov eax, dword [esp + 0x48]
add esi, 0xffffffff
imul eax, esi
mov esi, dword [edi + eax]
mov dword [esp + 0x60], esi
xchg ebx, eax
xchg ebx, eax
add edi, eax
mov eax, dword [edi + ebp*4 - 4]
mov dword [esp + 0x64], eax
test edx, edx
mov dword [esp + 0x6c], ebx
mov ebp, ebp
mov dword [esp + 0x70], ecx
push edx
pop edx
cmp ecx, edx
jne 0x1006dc0f
cmp edx, esi
jne 0x1006dc0f
cmp esi, eax
jne 0x1006dc0f
mov dword [esp + 0x6c], 1
mov cl, cl
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x1006dad3
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
xor eax, eax
cmp ebp, ebx
jle 0x1006dac0
mov esi, dword [esp + 0x70]
lea ecx, [ecx]
mov dh, dh
cmp dword [ecx], esi
jne 0x1006daa2
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1006da90
jmp 0x1006dac0
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov al, al
mov dword [esp + 0xd4], eax
test bl, bl
mov dword [esp + 0xbc], edx
mov dh, dh
cmp eax, ebp
jl 0x1006dad3
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x1006da83
xor edx, edx
cmp edi, ebx
jle 0x1006db40
xor esi, esi
jmp 0x1006dae0
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x1006db2c
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
test eax, 0x4272
cmp dword [ecx], edi
jne 0x1006db07
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1006daf2
jmp 0x1006db25
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov esi, esi
mov dword [esp + 0xcc], eax
test edi, edi
mov dword [esp + 0xc4], edx
mov esi, esi
cmp eax, ebx
jge 0x1006db39
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x1006dae0
jmp 0x1006db40
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x1006dba3
mov eax, dword [esp + 0x48]
mov esi, edx
imul esi, eax
mov edi, eax
neg edi
add esi, dword [esp + 0x38]
xor eax, eax
cmp ebp, ebx
jle 0x1006db96
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov cl, cl
cmp dword [ecx], ebx
jne 0x1006db76
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1006db64
jmp 0x1006db94
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
test ecx, ecx
mov dword [esp + 0xc0], eax
test cl, cl
mov dword [esp + 0xb8], edx
push ebx
pop ebx
cmp eax, ebp
jl 0x1006dba1
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1006db58
jmp 0x1006dba3
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x1006dc0f
mov edi, dword [esp + 0x48]
add ebp, 0xffffffff
mov esi, edx
imul esi, edi
mov dword [esp + 0x14], ebp
neg edi
mov eax, dword [esp + 0x14]
cmp eax, ebx
jl 0x1006dc06
mov ebp, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov edi, edi
cmp dword [ecx], ebp
jne 0x1006dbe8
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1006dbd6
jmp 0x1006dc06
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov ebx, ebx
mov dword [esp + 0xd0], eax
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xc8], edx
xchg ebx, eax
xchg ebx, eax
cmp eax, ebx
jge 0x1006dc0f
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1006dbc3
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x1006e4c6
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1006fe3d
jmp 0x1006dc40
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1006e4a0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
imul ecx, eax
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xbc]
imul ecx, eax
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc4]
imul edx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xcc]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xb8]
imul ecx, eax
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xc0]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc8]
imul edx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x78], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x7c], ecx
jmp 0x1006dce0
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
mov ebx, ebx
test bl, bl
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
test esi, esi
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
push ecx
pop ecx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ebx, ebx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
push edx
pop edx
test eax, 0xff000000
jne 0x1006e47f
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
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x14], eax
mov esi, esi
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
test eax, eax
mov edi, eax
and edi, 0xff
test ah, ah
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
test bl, bl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test edi, edi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006dde2
mov dword [esp + 0x1c], ecx
mov dl, dl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1006ddf9
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1006de13
mov ebp, eax
test eax, 0x3161
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x1006e47f
cmp eax, dword [esp + 0x1c]
jg 0x1006e47f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x1006e47f
cmp eax, ecx
jg 0x1006e47f
cmp edi, esi
jl 0x1006e47f
cmp edi, ebp
jg 0x1006e47f
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 ebp, dh
push ebx
pop ebx
and edx, 0xff
mov esi, esi
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
test eax, eax
mov edi, ecx
and edi, 0xff
test ah, ah
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x24], ecx
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x58], ecx
test bl, bl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test edi, edi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1006def4
mov eax, 0xff
mov dl, dl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1006df09
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1006df1e
mov edx, 0xff
test eax, 0x3161
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x1006e47f
cmp esi, eax
jg 0x1006e47f
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1006e47f
cmp eax, ebp
jg 0x1006e47f
cmp edi, ecx
jl 0x1006e47f
cmp edi, edx
jg 0x1006e47f
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 edi, bh
push ebx
pop ebx
and ebx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
test eax, eax
mov esi, ecx
and esi, 0xff
test ah, ah
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x24], edx
test bl, bl
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x58], edx
test bl, bl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test edi, edi
add eax, ebp
cmp eax, 0xff
jle 0x1006dffb
mov eax, 0xff
mov dl, dl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1006e010
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1006e025
mov ebx, 0xff
test eax, 0x3161
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x1006e47f
cmp edx, eax
jg 0x1006e47f
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1006e47f
cmp eax, edi
jg 0x1006e47f
cmp esi, ecx
jl 0x1006e47f
cmp esi, ebx
jg 0x1006e47f
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edi, ch
push ebx
pop ebx
and ecx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
test eax, eax
mov esi, edx
and esi, 0xff
test ah, ah
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test bl, bl
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
test bl, bl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test edi, edi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006e109
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1006e11e
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1006e133
mov ecx, 0xff
test eax, 0x3161
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1006e47f
cmp ebx, dword [esp + 0x14]
jg 0x1006e47f
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1006e47f
cmp ebx, edi
jg 0x1006e47f
cmp esi, edx
jl 0x1006e47f
cmp esi, ecx
jg 0x1006e47f
xchg ebx, eax
xchg ebx, eax
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1006e27b
cmp dword [esp + 0x6c], ecx
jne 0x1006e27b
cmp ebp, ecx
jne 0x1006e27b
cmp dword [esp + 0x18], ecx
jne 0x1006e27b
cmp eax, ecx
jne 0x1006e27b
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006e310
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
test dh, dh
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1006e1eb
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1006e1ef
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006e1d7
test eax, eax
je 0x1006e24c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006e23e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006e24c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006e23e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006e24c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006e23e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006e24c
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1006e24c
test esi, esi
mov eax, 1
jg 0x1006e24e
or eax, 0xffffffff
jmp 0x1006e24e
xor eax, eax
test eax, eax
jne 0x1006e310
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006e1c1
jmp 0x1006e310
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006e310
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
test ah, ah
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1006e2f0
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006e2e7
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1006e2b0
jmp 0x1006e2f0
cmp esi, dword [esp + 0x94]
jl 0x1006e310
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006e298
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1006e47f
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
push ecx
pop ecx
mov bh, bh
nop
mov byte [esp + 0x148], 0x25
mov byte [esp + 0x149], 0x64
mov byte [esp + 0x14a], 0x2c
mov byte [esp + 0x14b], 0x25
mov byte [esp + 0x14c], 0x64
mov byte [esp + 0x14d], 0x2c
mov byte [esp + 0x14e], 0x25
mov byte [esp + 0x14f], 0x64
mov byte [esp + 0x150], al
test ebx, ebx
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x154]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100f5cb0
add esp, 0x14
test ebx, ebx
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1006e414
push 1
push 0x101593b0
mov ecx, esi
call fcn.1000a0f0
mov edx, edx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006e420
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0f0
test eax, 0xdd6
test dl, dl
test edi, edi
test edi, edi
jle 0x1006e47f
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
lea esp, [esp]
test edi, edi
jle 0x1006e478
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
mov dl, dl
add eax, 4
sub ecx, 1
jne 0x1006e468
add edx, ebx
sub esi, 1
jne 0x1006e460
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
add eax, 1
cmp eax, edx
mov dword [esp + 0x3c], eax
jle 0x1006dce0
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [ecx + 0x24]
sub edx, dword [esp + 0x98]
add eax, 1
cmp eax, edx
mov dword [esp + 0x40], eax
jle 0x1006dc40
jmp 0x1006fe3d
cmp eax, 1
jne 0x1006ed58
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1006fe3d
jmp 0x1006e4f0
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1006ed48
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
imul ecx, eax
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xbc]
imul ecx, eax
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc4]
imul edx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xcc]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xb8]
imul ecx, eax
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xc0]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc8]
imul edx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x78], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x7c], ecx
jmp 0x1006e590
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
test ch, ch
push edx
pop edx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
test cl, cl
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
test ch, ch
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ah, ah
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
test esi, esi
test eax, 0xff000000
jne 0x1006ed27
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
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x14], eax
mov esi, esi
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
test eax, eax
mov edi, eax
and edi, 0xff
test ah, ah
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
test bl, bl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test edi, edi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006e692
mov dword [esp + 0x1c], ecx
mov dl, dl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1006e6a9
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1006e6c3
mov ebp, eax
test eax, 0x3161
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1006ed27
cmp eax, dword [esp + 0x1c]
jg 0x1006ed27
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006ed27
cmp eax, ecx
jg 0x1006ed27
cmp edi, esi
jl 0x1006ed27
cmp edi, ebp
jg 0x1006ed27
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 ebp, dh
push ebx
pop ebx
and edx, 0xff
mov esi, esi
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
test eax, eax
mov edi, ecx
and edi, 0xff
test ah, ah
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
test bl, bl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test edi, edi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1006e7a4
mov eax, 0xff
mov dl, dl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1006e7b9
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1006e7ce
mov edx, 0xff
test eax, 0x3161
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1006ed27
cmp esi, eax
jg 0x1006ed27
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006ed27
cmp eax, ebp
jg 0x1006ed27
cmp edi, ecx
jl 0x1006ed27
cmp edi, edx
jg 0x1006ed27
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 edi, bh
push ebx
pop ebx
and ebx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
test eax, eax
mov esi, ecx
and esi, 0xff
test ah, ah
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x2c], edx
test bl, bl
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
test bl, bl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test edi, edi
add eax, ebp
cmp eax, 0xff
jle 0x1006e8ab
mov eax, 0xff
mov dl, dl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1006e8c0
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1006e8d5
mov ebx, 0xff
test eax, 0x3161
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1006ed27
cmp edx, eax
jg 0x1006ed27
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006ed27
cmp eax, edi
jg 0x1006ed27
cmp esi, ecx
jl 0x1006ed27
cmp esi, ebx
jg 0x1006ed27
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edi, ch
push ebx
pop ebx
and ecx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
test eax, eax
mov esi, edx
and esi, 0xff
test ah, ah
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test bl, bl
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
test bl, bl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test edi, edi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006e9b9
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1006e9ce
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1006e9e3
mov ecx, 0xff
test eax, 0x3161
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1006ed27
cmp ebx, dword [esp + 0x14]
jg 0x1006ed27
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1006ed27
cmp ebx, edi
jg 0x1006ed27
cmp esi, edx
jl 0x1006ed27
cmp esi, ecx
jg 0x1006ed27
mov dl, dl
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1006eb2b
cmp dword [esp + 0x6c], ecx
jne 0x1006eb2b
cmp ebp, ecx
jne 0x1006eb2b
cmp dword [esp + 0x18], ecx
jne 0x1006eb2b
cmp eax, ecx
jne 0x1006eb2b
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006ebc0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1006ea9b
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1006ea9f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006ea87
test eax, eax
je 0x1006eafc
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006eaee
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006eafc
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006eaee
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006eafc
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006eaee
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006eafc
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1006eafc
test esi, esi
mov eax, 1
jg 0x1006eafe
or eax, 0xffffffff
jmp 0x1006eafe
xor eax, eax
test eax, eax
jne 0x1006ebc0
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006ea71
jmp 0x1006ebc0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006ebc0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov dh, dh
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1006eba0
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006eb97
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1006eb60
jmp 0x1006eba0
cmp esi, dword [esp + 0x94]
jl 0x1006ebc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006eb48
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1006ed27
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov esi, esi
test eax, 0x285f
mov dh, dh
mov byte [esp + 0x13c], 0x25
mov byte [esp + 0x13d], 0x64
mov byte [esp + 0x13e], 0x2c
mov byte [esp + 0x13f], 0x25
mov byte [esp + 0x140], 0x64
mov byte [esp + 0x141], 0x2c
mov byte [esp + 0x142], 0x25
mov byte [esp + 0x143], 0x64
mov byte [esp + 0x144], al
test bl, bl
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x148]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100f5cb0
add esp, 0x14
push ebx
pop ebx
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1006ecc8
push 1
push 0x101593b0
mov ecx, esi
call fcn.1000a0f0
push ebx
pop ebx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006ecd2
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0f0
test ah, ah
mov ah, ah
test ah, ah
test edi, edi
jle 0x1006ed27
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1006ed20
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
push eax
pop eax
add eax, 4
sub ecx, 1
jne 0x1006ed10
add edx, ebx
sub esi, 1
jne 0x1006ed08
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
add eax, 1
cmp eax, edx
mov dword [esp + 0x3c], eax
jle 0x1006e590
sub dword [esp + 0x40], 1
jns 0x1006e4f0
jmp 0x1006fe3d
cmp eax, 2
jne 0x1006f5db
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1006fe3d
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1006f5b5
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
imul ecx, eax
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xbc]
imul ecx, eax
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc4]
imul edx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xcc]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xb8]
imul ecx, eax
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xc0]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc8]
imul edx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x78], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
test edi, edi
mov esi, esi
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
test ebx, ebx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
test bl, bl
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ch, ch
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov dl, dl
test eax, 0xff000000
jne 0x1006f5aa
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
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x14], eax
mov esi, esi
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
test eax, eax
mov edi, eax
and edi, 0xff
test ah, ah
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
test bl, bl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test edi, edi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006ef12
mov dword [esp + 0x1c], ecx
mov dl, dl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1006ef29
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1006ef43
mov ebp, eax
test eax, 0x3161
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1006f5aa
cmp eax, dword [esp + 0x1c]
jg 0x1006f5aa
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006f5aa
cmp eax, ecx
jg 0x1006f5aa
cmp edi, esi
jl 0x1006f5aa
cmp edi, ebp
jg 0x1006f5aa
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 ebp, dh
push ebx
pop ebx
and edx, 0xff
mov esi, esi
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
test eax, eax
mov edi, ecx
and edi, 0xff
test ah, ah
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
test bl, bl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test edi, edi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1006f024
mov eax, 0xff
mov dl, dl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1006f039
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1006f04e
mov edx, 0xff
test eax, 0x3161
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1006f5aa
cmp esi, eax
jg 0x1006f5aa
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006f5aa
cmp eax, ebp
jg 0x1006f5aa
cmp edi, ecx
jl 0x1006f5aa
cmp edi, edx
jg 0x1006f5aa
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 edi, bh
push ebx
pop ebx
and ebx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
test eax, eax
mov esi, ecx
and esi, 0xff
test ah, ah
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x2c], edx
test bl, bl
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
test bl, bl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test edi, edi
add eax, ebp
cmp eax, 0xff
jle 0x1006f12b
mov eax, 0xff
mov dl, dl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1006f140
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1006f155
mov ebx, 0xff
test eax, 0x3161
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1006f5aa
cmp edx, eax
jg 0x1006f5aa
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006f5aa
cmp eax, edi
jg 0x1006f5aa
cmp esi, ecx
jl 0x1006f5aa
cmp esi, ebx
jg 0x1006f5aa
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edi, ch
push ebx
pop ebx
and ecx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
test eax, eax
mov esi, edx
and esi, 0xff
test ah, ah
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test bl, bl
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
test bl, bl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test edi, edi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006f239
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1006f24e
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1006f263
mov ecx, 0xff
test eax, 0x3161
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1006f5aa
cmp ebx, dword [esp + 0x14]
jg 0x1006f5aa
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1006f5aa
cmp ebx, edi
jg 0x1006f5aa
cmp esi, edx
jl 0x1006f5aa
cmp esi, ecx
jg 0x1006f5aa
test ebx, ebx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1006f3ab
cmp dword [esp + 0x6c], ecx
jne 0x1006f3ab
cmp ebp, ecx
jne 0x1006f3ab
cmp dword [esp + 0x18], ecx
jne 0x1006f3ab
cmp eax, ecx
jne 0x1006f3ab
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006f440
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov dl, dl
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1006f31b
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1006f31f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006f307
test eax, eax
je 0x1006f37c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006f36e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006f37c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006f36e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006f37c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006f36e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006f37c
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1006f37c
test esi, esi
mov eax, 1
jg 0x1006f37e
or eax, 0xffffffff
jmp 0x1006f37e
xor eax, eax
test eax, eax
jne 0x1006f440
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006f2f1
jmp 0x1006f440
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006f440
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov ecx, ecx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1006f420
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006f417
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1006f3e0
jmp 0x1006f420
cmp esi, dword [esp + 0x94]
jl 0x1006f440
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006f3c8
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1006f5aa
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov cl, cl
test bl, bl
push ecx
pop ecx
mov byte [esp + 0x130], 0x25
mov byte [esp + 0x131], 0x64
mov byte [esp + 0x132], 0x2c
mov byte [esp + 0x133], 0x25
mov byte [esp + 0x134], 0x64
mov byte [esp + 0x135], 0x2c
mov byte [esp + 0x136], 0x25
mov byte [esp + 0x137], 0x64
mov byte [esp + 0x138], al
push ecx
pop ecx
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x13c]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100f5cb0
add esp, 0x14
test cl, cl
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1006f545
push 1
push 0x101593b0
mov ecx, esi
call fcn.1000a0f0
test edi, edi
lea eax, [esp + 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006f550
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0f0
test ah, ah
push ecx
pop ecx
mov ecx, ecx
test edi, edi
jle 0x1006f5aa
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1006f5a3
mov eax, edx
mov ecx, edi
mov edi, edi
mov dword [eax], 0xff000000
test eax, 0x2b70
add eax, 4
sub ecx, 1
jne 0x1006f590
add edx, ebx
sub esi, 1
jne 0x1006f586
sub dword [esp + 0x3c], 1
jns 0x1006ee10
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [ecx + 0x24]
sub edx, dword [esp + 0x98]
add eax, 1
cmp eax, edx
mov dword [esp + 0x40], eax
jle 0x1006ed80
jmp 0x1006fe3d
cmp eax, 3
jne 0x1006fe3d
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1006fe3d
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1006fe32
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xbc]
imul ecx, eax
imul edx, eax
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xd4]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc4]
imul ecx, eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xcc]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xb8]
imul edx, eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xc0]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc8]
imul ecx, eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd0]
lea eax, [ecx + edx*4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x3c]
lea ecx, [ecx + edx*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
push ecx
pop ecx
mov ebx, ebx
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
push eax
pop eax
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
nop
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
push edx
pop edx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
test al, al
test eax, 0xff000000
jne 0x1006fe27
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
push ebx
pop ebx
and eax, 0xff
mov dword [esp + 0x14], eax
mov esi, esi
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
test eax, eax
mov edi, eax
and edi, 0xff
test ah, ah
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
test bl, bl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test edi, edi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1006f791
mov dword [esp + 0x1c], ecx
mov dl, dl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1006f7a8
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1006f7c2
mov ebp, eax
test eax, 0x3161
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1006fe27
cmp eax, dword [esp + 0x1c]
jg 0x1006fe27
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006fe27
cmp eax, ecx
jg 0x1006fe27
cmp edi, esi
jl 0x1006fe27
cmp edi, ebp
jg 0x1006fe27
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 ebp, dh
push ebx
pop ebx
and edx, 0xff
mov esi, esi
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
test eax, eax
mov edi, ecx
and edi, 0xff
test ah, ah
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
test bl, bl
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
test bl, bl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test edi, edi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1006f8a3
mov eax, 0xff
mov dl, dl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1006f8b8
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1006f8cd
mov edx, 0xff
test eax, 0x3161
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1006fe27
cmp esi, eax
jg 0x1006fe27
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006fe27
cmp eax, ebp
jg 0x1006fe27
cmp edi, ecx
jl 0x1006fe27
cmp edi, edx
jg 0x1006fe27
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 edi, bh
push ebx
pop ebx
and ebx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
test eax, eax
mov esi, ecx
and esi, 0xff
test ah, ah
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x2c], edx
test bl, bl
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
test bl, bl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test edi, edi
add eax, ebp
cmp eax, 0xff
jle 0x1006f9aa
mov eax, 0xff
mov dl, dl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1006f9bf
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1006f9d4
mov ebx, 0xff
test eax, 0x3161
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1006fe27
cmp edx, eax
jg 0x1006fe27
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1006fe27
cmp eax, edi
jg 0x1006fe27
cmp esi, ecx
jl 0x1006fe27
cmp esi, ebx
jg 0x1006fe27
mov edi, edi
mov ebp, ebp
test al, al
test bh, bh
test edi, edi
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ah, ah
movzx edi, ch
push ebx
pop ebx
and ecx, 0xff
mov esi, esi
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
test eax, eax
mov esi, edx
and esi, 0xff
test ah, ah
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test bl, bl
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
test bl, bl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test edi, edi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1006fab8
mov dword [esp + 0x14], eax
mov dl, dl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1006facd
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1006fae2
mov ecx, 0xff
test eax, 0x3161
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1006fe27
cmp ebx, dword [esp + 0x14]
jg 0x1006fe27
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1006fe27
cmp ebx, edi
jg 0x1006fe27
cmp esi, edx
jl 0x1006fe27
cmp esi, ecx
jg 0x1006fe27
test ch, ch
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1006fc2a
cmp dword [esp + 0x6c], ecx
jne 0x1006fc2a
cmp ebp, ecx
jne 0x1006fc2a
cmp dword [esp + 0x18], ecx
jne 0x1006fc2a
cmp eax, ecx
jne 0x1006fc2a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006fcc0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov ebx, ebx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1006fb9a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1006fb9e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1006fb86
test eax, eax
je 0x1006fbfb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006fbed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006fbfb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006fbed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006fbfb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1006fbed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1006fbfb
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1006fbfb
test esi, esi
mov eax, 1
jg 0x1006fbfd
or eax, 0xffffffff
jmp 0x1006fbfd
xor eax, eax
test eax, eax
jne 0x1006fcc0
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006fb70
jmp 0x1006fcc0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1006fcc0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov edx, edx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1006fca0
mov edi, dword [esp + 0x14]
jmp 0x1006fc60
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.10046980
add esp, 0x14
test eax, eax
je 0x1006fc97
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1006fc60
jmp 0x1006fca0
cmp esi, dword [esp + 0x94]
jl 0x1006fcc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x1006fc47
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1006fe27
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
test eax, 0x4be8
test edi, edi
test esi, esi
mov byte [esp + 0x124], 0x25
mov byte [esp + 0x125], 0x64
mov byte [esp + 0x126], 0x2c
mov byte [esp + 0x127], 0x25
mov byte [esp + 0x128], 0x64
mov byte [esp + 0x129], 0x2c
mov byte [esp + 0x12a], 0x25
mov byte [esp + 0x12b], 0x64
mov byte [esp + 0x12c], al
mov bl, bl
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xe0]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x40]
add edx, ecx
push edx
push eax
lea ecx, [esp + 0x130]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100f5cb0
add esp, 0x14
test al, al
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1006fdc8
push 1
push 0x101593b0
mov ecx, esi
call fcn.1000a0f0
test cl, cl
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006fdd2
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0f0
mov al, al
mov eax, eax
mov edi, edi
test edi, edi
jle 0x1006fe27
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1006fe20
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
mov ebx, ebx
add eax, 4
sub ecx, 1
jne 0x1006fe10
add edx, ebx
sub esi, 1
jne 0x1006fe08
sub dword [esp + 0x3c], 1
jns 0x1006f690
sub dword [esp + 0x40], 1
jns 0x1006f600
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x1006fe57
mov ecx, dword [esp + 0xec]
cmp dword [ecx + 0x32f4], 0
jne 0x1006fe69
mov edx, dword [esp + 0xe8]
push edx
call fcn.100f3efb
add esp, 4
test dh, dh
cmp dword [esi + 0x18], 0
je 0x1006fe9a
mov eax, dword [esp + 0x38]
push eax
call fcn.100f3efb
add esp, 4
test eax, eax
jmp 0x1006fe9a
cmp dword [esi + 0x10], 0
jne 0x1006fe8f
cmp dword [ebx + 0x32f4], 0
jne 0x1006fe9a
push eax
call fcn.100f3efb
add esp, 4
push ecx
pop ecx
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x1006d720
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100f43d6
add esp, 0x148
ret
jmp fcn.100e2ea6