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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101ce00c]
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
test ch, ch
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
test cl, cl
push ebx
pop ebx
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
push ebx
pop ebx
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
mov ah, ah
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
test cl, cl
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
test edi, edi
test ecx, ecx
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
mov ecx, ecx
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
push edx
pop edx
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
push ecx
pop ecx
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
push eax
pop eax
push 0x10181900
push 0x10181900
call fcn.100070b0
test ch, ch
test eax, eax
test ch, ch
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x1008ddc1
push ebp
jmp 0x1008b5d7
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x1008ddc0
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.10119900
add esp, 0xc
test ah, ah
test esi, esi
mov dword [esp + 0x38], 0
mov al, al
mov eax, eax
mov edx, edx
lea ebp, [ebx + 0x325c]
push 0x3e8
push ebp
call fcn.10058cb0
add esp, 8
mov cl, cl
test edi, edi
jl 0x1008ddd9
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x1008ddd9
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.1007ae60
add esp, 0x1c
test eax, eax
push ebp
jne 0x1008b681
call fcn.10058d40
add esp, 4
test cl, cl
jmp 0x1008dda2
call fcn.10058d40
add esp, 4
test eax, 0x288
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov eax, eax
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x1008dd88
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x1008dd88
cmp dword [esi + 0x18], 0
jne 0x1008b6fb
test edi, edi
jle 0x1008b7c8
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x1008b6ef
mov eax, edx
mov ecx, ebp
lea esp, [esp]
test bl, bl
mov byte [eax], 0
push ecx
pop ecx
add eax, 4
sub ecx, 1
jne 0x1008b6e0
add edx, edi
sub esi, 1
jne 0x1008b6d4
jmp 0x1008b7c8
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.10117b2c
add esp, 4
mov dword [esp + 0x38], eax
push edx
pop edx
test eax, eax
jne 0x1008b73c
cmp dword [esi + 0x10], eax
jne 0x1008b726
cmp dword [ebx + 0x32f4], eax
jne 0x1008dda2
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.10117bef
add esp, 4
nop
jmp 0x1008dda2
test edi, edi
jle 0x1008b7c8
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 0x1008b7b5
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
test dh, dh
mov dh, dh
movzx eax, byte [ecx + 1]
push ecx
pop ecx
movzx edx, byte [ecx]
mov dh, dh
movzx edi, byte [ecx - 1]
mov cl, cl
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov ecx, ecx
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
push ebx
pop ebx
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x1008b773
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x1008b765
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x10181b48]
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]
mov ecx, ecx
test bh, bh
test ebx, ebx
test ecx, ecx
xor ebx, ebx
mov dword [esp + 0x10], ebx
test edi, edi
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x10181b18
push eax
call fcn.1011a25d
add esp, 0xc
mov ch, ch
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
mov eax, eax
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
mov dh, dh
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
test bh, bh
mov ebx, ebx
mov edx, edx
test cl, cl
test cl, cl
test eax, 0x43cc
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
mov bh, bh
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
test ah, ah
mov dword [esp + 0xc4], ebx
mov edx, edx
mov dword [esp + 0xc0], ebx
mov ebp, ebp
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
push ebx
pop ebx
mov dword [esp + 0xd0], ecx
test ch, ch
mov dword [esp + 0xc8], eax
test al, al
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
test bl, bl
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
mov eax, eax
lea eax, [esi - 1]
imul eax, dword [esp + 0x48]
mov esi, dword [eax + edi]
mov dword [esp + 0x60], esi
mov edi, edi
lea eax, [eax + ebp*4]
mov eax, dword [eax + edi - 4]
mov dword [esp + 0x64], eax
mov edi, edi
mov dword [esp + 0x6c], ebx
nop
mov dword [esp + 0x70], ecx
test cl, cl
cmp ecx, edx
jne 0x1008bac3
cmp edx, esi
jne 0x1008bac3
cmp esi, eax
jne 0x1008bac3
mov dword [esp + 0x6c], 1
push ebx
pop ebx
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x1008b983
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
lea ebx, [ebx]
xor eax, eax
cmp ebp, ebx
jle 0x1008b970
mov esi, dword [esp + 0x70]
lea ebx, [ebx]
test bl, bl
cmp dword [ecx], esi
jne 0x1008b952
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1008b940
jmp 0x1008b970
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xd4], eax
push ecx
pop ecx
mov dword [esp + 0xbc], edx
test ch, ch
cmp eax, ebp
jl 0x1008b983
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x1008b930
xor edx, edx
cmp edi, ebx
jle 0x1008b9ec
xor esi, esi
jmp 0x1008b990
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x1008b9d8
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
test ebx, ebx
cmp dword [ecx], edi
jne 0x1008b9b4
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1008b9a2
jmp 0x1008b9d1
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
test bh, bh
mov dword [esp + 0xcc], eax
nop
mov dword [esp + 0xc4], edx
test al, al
cmp eax, ebx
jge 0x1008b9e5
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x1008b990
jmp 0x1008b9ec
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x1008ba52
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 0x1008ba45
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov edx, edx
cmp dword [ecx], ebx
jne 0x1008ba22
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1008ba10
jmp 0x1008ba43
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
test eax, 0x7ca9
mov dword [esp + 0xc0], eax
mov al, al
mov dword [esp + 0xb8], edx
test bh, bh
cmp eax, ebp
jl 0x1008ba50
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1008ba04
jmp 0x1008ba52
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x1008bac3
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 0x1008baba
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
add ecx, esi
xchg ebx, eax
xchg ebx, eax
cmp dword [ecx], ebp
jne 0x1008ba99
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1008ba87
jmp 0x1008baba
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov dl, dl
mov dword [esp + 0xd0], eax
test dh, dh
mov dword [esp + 0xc8], edx
test eax, 0x7258
cmp eax, ebx
jge 0x1008bac3
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1008ba72
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x1008c38e
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1008dd45
lea ebx, [ebx]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1008c368
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 0x1008bb90
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
push ebx
pop ebx
nop
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
test dl, dl
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
test eax, 0x52ab
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov esi, esi
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
test eax, 0x6c1
test eax, 0xff000000
jne 0x1008c347
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
test ch, ch
and eax, 0xff
mov dword [esp + 0x14], eax
mov dh, dh
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
test eax, 0x1806
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov al, al
mov edi, eax
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1008bc9d
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1008bcb4
mov ecx, ebp
test bh, bh
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1008bcce
mov ebp, eax
mov edx, edx
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x1008c347
cmp eax, dword [esp + 0x1c]
jg 0x1008c347
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x1008c347
cmp eax, ecx
jg 0x1008c347
cmp edi, esi
jl 0x1008c347
cmp edi, ebp
jg 0x1008c347
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebp, dh
test ch, ch
and edx, 0xff
mov dh, dh
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
mov al, al
mov edi, ecx
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1008bdb2
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1008bdc7
mov ebp, 0xff
test bh, bh
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1008bddc
mov edx, 0xff
mov edx, edx
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x1008c347
cmp esi, eax
jg 0x1008c347
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1008c347
cmp eax, ebp
jg 0x1008c347
cmp edi, ecx
jl 0x1008c347
cmp edi, edx
jg 0x1008c347
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, bh
test ch, ch
and ebx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
mov al, al
mov esi, ecx
and esi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1008bebc
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1008bed1
mov edi, 0xff
test bh, bh
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1008bee6
mov ebx, 0xff
mov edx, edx
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x1008c347
cmp edx, eax
jg 0x1008c347
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1008c347
cmp eax, edi
jg 0x1008c347
cmp esi, ecx
jl 0x1008c347
cmp esi, ebx
jg 0x1008c347
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, ch
test ch, ch
and ecx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov al, al
mov esi, edx
and esi, 0xff
test eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test eax, 0x12ac
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 eax, eax
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1008bfcd
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1008bfe2
mov edi, 0xff
test bh, bh
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1008bff7
mov ecx, 0xff
mov edx, edx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1008c347
cmp ebx, dword [esp + 0x14]
jg 0x1008c347
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1008c347
cmp ebx, edi
jg 0x1008c347
cmp esi, edx
jl 0x1008c347
cmp esi, ecx
jg 0x1008c347
mov edx, edx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008c13b
cmp dword [esp + 0x6c], ecx
jne 0x1008c13b
cmp ebp, ecx
jne 0x1008c13b
cmp dword [esp + 0x18], ecx
jne 0x1008c13b
cmp eax, ecx
jne 0x1008c13b
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008c1d0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
nop
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1008c0ab
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1008c0af
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1008c097
test eax, eax
je 0x1008c10c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008c0fe
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008c10c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008c0fe
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008c10c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008c0fe
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008c10c
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1008c10c
test esi, esi
mov eax, 1
jg 0x1008c10e
or eax, 0xffffffff
jmp 0x1008c10e
xor eax, eax
test eax, eax
jne 0x1008c1d0
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 0x1008c082
jmp 0x1008c1d0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008c1d0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
test bl, bl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1008c1b0
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.100634f0
add esp, 0x14
test eax, eax
je 0x1008c1a7
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1008c170
jmp 0x1008c1b0
cmp esi, dword [esp + 0x94]
jl 0x1008c1d0
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 0x1008c158
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1008c347
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 edi, edi
test edi, edi
mov ecx, ecx
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
mov cl, cl
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.10119287
add esp, 0x14
mov ecx, ecx
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1008c2da
push 0x10181a25
push 0x10181a24
mov ecx, esi
call fcn.10003e40
mov cl, cl
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008c2e4
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.10003e40
test bh, bh
test eax, 0x4502
test ecx, ecx
test edi, edi
jle 0x1008c347
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1008c340
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov ebx, ebx
add eax, 4
sub ecx, 1
jne 0x1008c330
add edx, ebx
sub esi, 1
jne 0x1008c324
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 0x1008bb90
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 0x1008baf0
jmp 0x1008dd45
cmp eax, 1
jne 0x1008cc28
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1008dd45
nop
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1008cc18
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 0x1008c450
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 dh, dh
push edx
pop edx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
test al, al
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov al, al
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
test ebx, ebx
test eax, 0xff000000
jne 0x1008cbf7
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
test ch, ch
and eax, 0xff
mov dword [esp + 0x14], eax
mov dh, dh
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
test eax, 0x1806
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov al, al
mov edi, eax
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1008c558
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1008c56f
mov ecx, ebp
test bh, bh
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1008c589
mov ebp, eax
mov edx, edx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1008cbf7
cmp eax, dword [esp + 0x1c]
jg 0x1008cbf7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008cbf7
cmp eax, ecx
jg 0x1008cbf7
cmp edi, esi
jl 0x1008cbf7
cmp edi, ebp
jg 0x1008cbf7
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebp, dh
test ch, ch
and edx, 0xff
mov dh, dh
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov al, al
mov edi, ecx
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1008c66d
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1008c682
mov ebp, 0xff
test bh, bh
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1008c697
mov edx, 0xff
mov edx, edx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1008cbf7
cmp esi, eax
jg 0x1008cbf7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008cbf7
cmp eax, ebp
jg 0x1008cbf7
cmp edi, ecx
jl 0x1008cbf7
cmp edi, edx
jg 0x1008cbf7
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, bh
test ch, ch
and ebx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov al, al
mov esi, ecx
and esi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1008c777
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1008c78c
mov edi, 0xff
test bh, bh
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1008c7a1
mov ebx, 0xff
mov edx, edx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1008cbf7
cmp edx, eax
jg 0x1008cbf7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008cbf7
cmp eax, edi
jg 0x1008cbf7
cmp esi, ecx
jl 0x1008cbf7
cmp esi, ebx
jg 0x1008cbf7
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, ch
test ch, ch
and ecx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov al, al
mov esi, edx
and esi, 0xff
test eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test eax, 0x12ac
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 eax, eax
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1008c888
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1008c89d
mov edi, 0xff
test bh, bh
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1008c8b2
mov ecx, 0xff
mov edx, edx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1008cbf7
cmp ebx, dword [esp + 0x14]
jg 0x1008cbf7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1008cbf7
cmp ebx, edi
jg 0x1008cbf7
cmp esi, edx
jl 0x1008cbf7
cmp esi, ecx
jg 0x1008cbf7
test ecx, ecx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008c9fa
cmp dword [esp + 0x6c], ecx
jne 0x1008c9fa
cmp ebp, ecx
jne 0x1008c9fa
cmp dword [esp + 0x18], ecx
jne 0x1008c9fa
cmp eax, ecx
jne 0x1008c9fa
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008ca84
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
lea ecx, [ecx]
push ebx
pop ebx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1008c96a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1008c96e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1008c956
test eax, eax
je 0x1008c9cb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008c9bd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008c9cb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008c9bd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008c9cb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008c9bd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008c9cb
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1008c9cb
test esi, esi
mov eax, 1
jg 0x1008c9cd
or eax, 0xffffffff
jmp 0x1008c9cd
xor eax, eax
test eax, eax
jne 0x1008ca84
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 0x1008c940
jmp 0x1008ca84
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008ca84
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
test ebx, ebx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1008ca64
mov edi, dword [esp + 0x14]
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.100634f0
add esp, 0x14
test eax, eax
je 0x1008ca5b
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1008ca24
jmp 0x1008ca64
cmp esi, dword [esp + 0x94]
jl 0x1008ca84
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 0x1008ca13
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1008cbf7
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 edi, edi
mov cl, cl
test bh, bh
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 edx, edx
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.10119287
add esp, 0x14
mov al, al
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1008cb8e
push 0x10181a25
push 0x10181a24
mov ecx, esi
call fcn.10003e40
mov ebp, ebp
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008cb98
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.10003e40
test dh, dh
test eax, 0x7107
push eax
pop eax
test edi, edi
jle 0x1008cbf7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1008cbf0
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
test bl, bl
add eax, 4
sub ecx, 1
jne 0x1008cbe0
add edx, ebx
sub esi, 1
jne 0x1008cbd8
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 0x1008c450
sub dword [esp + 0x40], 1
jns 0x1008c3b0
jmp 0x1008dd45
cmp eax, 2
jne 0x1008d4c8
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1008dd45
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1008d4a2
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
mov eax, eax
mov ebp, ebp
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov ch, ch
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
test ah, ah
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
test al, al
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
test eax, 0x11dc
test eax, 0xff000000
jne 0x1008d497
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
test ch, ch
and eax, 0xff
mov dword [esp + 0x14], eax
mov dh, dh
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
test eax, 0x1806
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov al, al
mov edi, eax
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1008cdeb
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1008ce02
mov ecx, ebp
test bh, bh
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1008ce1c
mov ebp, eax
mov edx, edx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1008d497
cmp eax, dword [esp + 0x1c]
jg 0x1008d497
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008d497
cmp eax, ecx
jg 0x1008d497
cmp edi, esi
jl 0x1008d497
cmp edi, ebp
jg 0x1008d497
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebp, dh
test ch, ch
and edx, 0xff
mov dh, dh
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov al, al
mov edi, ecx
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1008cf00
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1008cf15
mov ebp, 0xff
test bh, bh
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1008cf2a
mov edx, 0xff
mov edx, edx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1008d497
cmp esi, eax
jg 0x1008d497
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008d497
cmp eax, ebp
jg 0x1008d497
cmp edi, ecx
jl 0x1008d497
cmp edi, edx
jg 0x1008d497
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, bh
test ch, ch
and ebx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov al, al
mov esi, ecx
and esi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1008d00a
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1008d01f
mov edi, 0xff
test bh, bh
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1008d034
mov ebx, 0xff
mov edx, edx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1008d497
cmp edx, eax
jg 0x1008d497
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008d497
cmp eax, edi
jg 0x1008d497
cmp esi, ecx
jl 0x1008d497
cmp esi, ebx
jg 0x1008d497
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, ch
test ch, ch
and ecx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov al, al
mov esi, edx
and esi, 0xff
test eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test eax, 0x12ac
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 eax, eax
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1008d11b
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1008d130
mov edi, 0xff
test bh, bh
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1008d145
mov ecx, 0xff
mov edx, edx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1008d497
cmp ebx, dword [esp + 0x14]
jg 0x1008d497
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1008d497
cmp ebx, edi
jg 0x1008d497
cmp esi, edx
jl 0x1008d497
cmp esi, ecx
jg 0x1008d497
test eax, eax
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008d28a
cmp dword [esp + 0x6c], ecx
jne 0x1008d28a
cmp ebp, ecx
jne 0x1008d28a
cmp dword [esp + 0x18], ecx
jne 0x1008d28a
cmp eax, ecx
jne 0x1008d28a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008d320
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov cl, cl
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1008d1fa
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1008d1fe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1008d1e6
test eax, eax
je 0x1008d25b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008d24d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008d25b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008d24d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008d25b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008d24d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008d25b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1008d25b
test esi, esi
mov eax, 1
jg 0x1008d25d
or eax, 0xffffffff
jmp 0x1008d25d
xor eax, eax
test eax, eax
jne 0x1008d320
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 0x1008d1d0
jmp 0x1008d320
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008d320
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
test eax, eax
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1008d300
mov edi, dword [esp + 0x14]
jmp 0x1008d2c0
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.100634f0
add esp, 0x14
test eax, eax
je 0x1008d2f7
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1008d2c0
jmp 0x1008d300
cmp esi, dword [esp + 0x94]
jl 0x1008d320
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 0x1008d2a7
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1008d497
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 ch, ch
test al, al
test ch, ch
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 ebx
pop 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 + 0x13c]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.10119287
add esp, 0x14
mov ebp, ebp
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1008d42a
push 0x10181a25
push 0x10181a24
mov ecx, esi
call fcn.10003e40
mov dl, dl
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008d434
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.10003e40
test eax, 0x4ec7
test eax, 0x59bb
test ebx, ebx
test edi, edi
jle 0x1008d497
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1008d490
mov eax, edx
mov ecx, edi
nop
mov dword [eax], 0xff000000
mov al, al
add eax, 4
sub ecx, 1
jne 0x1008d480
add edx, ebx
sub esi, 1
jne 0x1008d477
sub dword [esp + 0x3c], 1
jns 0x1008cce0
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 0x1008cc50
jmp 0x1008dd45
cmp eax, 3
jne 0x1008dd45
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1008dd45
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1008dd3a
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
test edi, edi
mov cl, cl
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
test ebx, ebx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov ebx, ebx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov eax, eax
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov dl, dl
test eax, 0xff000000
jne 0x1008dd2f
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
test ch, ch
and eax, 0xff
mov dword [esp + 0x14], eax
mov dh, dh
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
test eax, 0x1806
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov al, al
mov edi, eax
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
test bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1008d688
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1008d69f
mov ecx, ebp
test bh, bh
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1008d6b9
mov ebp, eax
mov edx, edx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1008dd2f
cmp eax, dword [esp + 0x1c]
jg 0x1008dd2f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008dd2f
cmp eax, ecx
jg 0x1008dd2f
cmp edi, esi
jl 0x1008dd2f
cmp edi, ebp
jg 0x1008dd2f
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebp, dh
test ch, ch
and edx, 0xff
mov dh, dh
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov al, al
mov edi, ecx
and edi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
test bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1008d79d
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1008d7b2
mov ebp, 0xff
test bh, bh
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1008d7c7
mov edx, 0xff
mov edx, edx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1008dd2f
cmp esi, eax
jg 0x1008dd2f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008dd2f
cmp eax, ebp
jg 0x1008dd2f
cmp edi, ecx
jl 0x1008dd2f
cmp edi, edx
jg 0x1008dd2f
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, bh
test ch, ch
and ebx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov al, al
mov esi, ecx
and esi, 0xff
test eax, eax
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 eax, 0x12ac
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 eax, eax
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
test bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1008d8a7
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1008d8bc
mov edi, 0xff
test bh, bh
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1008d8d1
mov ebx, 0xff
mov edx, edx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1008dd2f
cmp edx, eax
jg 0x1008dd2f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008dd2f
cmp eax, edi
jg 0x1008dd2f
cmp esi, ecx
jl 0x1008dd2f
cmp esi, ebx
jg 0x1008dd2f
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edi, ch
test ch, ch
and ecx, 0xff
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov al, al
mov esi, edx
and esi, 0xff
test eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
test eax, 0x12ac
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 eax, eax
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
test bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1008d9b8
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1008d9cd
mov edi, 0xff
test bh, bh
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1008d9e2
mov ecx, 0xff
mov edx, edx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1008dd2f
cmp ebx, dword [esp + 0x14]
jg 0x1008dd2f
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1008dd2f
cmp ebx, edi
jg 0x1008dd2f
cmp esi, edx
jl 0x1008dd2f
cmp esi, ecx
jg 0x1008dd2f
mov bl, bl
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008db2a
cmp dword [esp + 0x6c], ecx
jne 0x1008db2a
cmp ebp, ecx
jne 0x1008db2a
cmp dword [esp + 0x18], ecx
jne 0x1008db2a
cmp eax, ecx
jne 0x1008db2a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008dbc0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
lea ecx, [ecx]
test ecx, ecx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1008da9a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1008da9e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1008da86
test eax, eax
je 0x1008dafb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008daed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008dafb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008daed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008dafb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008daed
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008dafb
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1008dafb
test esi, esi
mov eax, 1
jg 0x1008dafd
or eax, 0xffffffff
jmp 0x1008dafd
xor eax, eax
test eax, eax
jne 0x1008dbc0
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 0x1008da70
jmp 0x1008dbc0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1008dbc0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov cl, cl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1008dba0
mov edi, dword [esp + 0x14]
jmp 0x1008db60
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.100634f0
add esp, 0x14
test eax, eax
je 0x1008db97
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1008db60
jmp 0x1008dba0
cmp esi, dword [esp + 0x94]
jl 0x1008dbc0
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 0x1008db47
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1008dd2f
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 ebx
pop ebx
mov dh, dh
test ah, ah
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 ecx, ecx
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.10119287
add esp, 0x14
push ebx
pop ebx
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1008dcca
push 0x10181a25
push 0x10181a24
mov ecx, esi
call fcn.10003e40
mov esi, esi
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008dcd4
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.10003e40
xchg ebx, eax
xchg ebx, eax
mov edx, edx
nop
test edi, edi
jle 0x1008dd2f
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1008dd28
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
test bl, bl
add eax, 4
sub ecx, 1
jne 0x1008dd18
add edx, ebx
sub esi, 1
jne 0x1008dd10
sub dword [esp + 0x3c], 1
jns 0x1008d580
sub dword [esp + 0x40], 1
jns 0x1008d4f0
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x1008dd5f
mov eax, dword [esp + 0xec]
cmp dword [eax + 0x32f4], 0
jne 0x1008dd71
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.10117bef
add esp, 4
mov dl, dl
cmp dword [esi + 0x18], 0
je 0x1008dda2
mov edx, dword [esp + 0x38]
push edx
call fcn.10117bef
add esp, 4
test dl, dl
jmp 0x1008dda2
cmp dword [esi + 0x10], 0
jne 0x1008dd97
cmp dword [ebx + 0x32f4], 0
jne 0x1008dda2
push eax
call fcn.10117bef
add esp, 4
mov dl, dl
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x1008b5d0
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101180ca
add esp, 0x148
ret
jmp fcn.10106bf9