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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101af0fc]
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 bh, bh
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
test eax, 0x285f
mov cl, cl
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
test ecx, ecx
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
mov esi, esi
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
mov ebp, ebp
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
mov esi, esi
test edi, edi
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
test eax, eax
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
mov dl, dl
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
push edx
pop edx
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
test ah, ah
push 0x10164994
push 0x10164994
call fcn.1000d070
test ebx, ebx
test esi, esi
test bh, bh
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x10086801
push ebp
jmp 0x10084057
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x10086800
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.10102690
add esp, 0xc
mov edx, edx
mov dh, dh
mov dword [esp + 0x38], 0
mov dh, dh
test edx, edx
mov ebp, ebp
lea ebp, [ebx + 0x325c]
push 0x3e8
push ebp
call fcn.10053af0
add esp, 8
test edx, edx
test edi, edi
jl 0x10086819
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x10086819
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.10074300
add esp, 0x1c
test eax, eax
push ebp
jne 0x10084101
call fcn.10053b80
add esp, 4
test esi, esi
jmp 0x100867e2
call fcn.10053b80
add esp, 4
push edx
pop edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
push ebx
pop ebx
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jge 0x100867c8
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jge 0x100867c8
cmp dword [esi + 0x18], 0
jne 0x1008417b
test edi, edi
jle 0x10084254
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x1008416f
mov eax, edx
mov ecx, ebp
lea esp, [esp]
mov cl, cl
mov byte [eax], 0
push edx
pop edx
add eax, 4
sub ecx, 1
jne 0x10084160
add edx, edi
sub esi, 1
jne 0x10084151
jmp 0x10084254
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.1010136f
add esp, 4
mov dword [esp + 0x38], eax
mov ah, ah
test eax, eax
jne 0x100841bc
cmp dword [esi + 0x10], eax
jne 0x100841a6
cmp dword [ebx + 0x32f0], eax
jne 0x100867e2
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.10101432
add esp, 4
nop
jmp 0x100867e2
test edi, edi
jle 0x10084254
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 0x10084241
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
test eax, 0x45bb
test eax, 0x5d2b
movzx eax, byte [ecx + 1]
mov ebx, ebx
movzx edx, byte [ecx]
test ebx, ebx
movzx edi, byte [ecx - 1]
test eax, 0x12f5
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
push ebx
pop ebx
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
test eax, 0x3033
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x100841f3
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x100841e5
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x101656e0]
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 dh, dh
mov ah, ah
test eax, eax
test al, al
xor ebx, ebx
mov dword [esp + 0x10], ebx
test bl, bl
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x10165670
push eax
call fcn.10104175
add esp, 0xc
mov esi, esi
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
test ch, ch
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
mov ebx, ebx
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
mov ecx, ecx
test dl, dl
test ebx, ebx
push ebx
pop ebx
mov edi, edi
test ebx, ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
mov dl, dl
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
mov dh, dh
mov dword [esp + 0xc4], ebx
test ebx, ebx
mov dword [esp + 0xc0], ebx
mov ch, ch
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
mov bl, bl
mov dword [esp + 0xd0], ecx
test ch, ch
mov dword [esp + 0xc8], eax
mov dh, dh
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
push eax
pop eax
lea eax, [esi - 1]
imul eax, dword [esp + 0x48]
mov esi, dword [eax + edi]
mov dword [esp + 0x60], esi
mov ch, ch
lea eax, [eax + ebp*4]
mov eax, dword [eax + edi - 4]
mov dword [esp + 0x64], eax
mov cl, cl
mov dword [esp + 0x6c], ebx
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0x70], ecx
push edx
pop edx
cmp ecx, edx
jne 0x10084540
cmp edx, esi
jne 0x10084540
cmp esi, eax
jne 0x10084540
mov dword [esp + 0x6c], 1
mov bh, bh
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x10084406
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
xor eax, eax
cmp ebp, ebx
jle 0x100843f3
mov esi, dword [esp + 0x70]
mov edi, edi
mov edx, edx
cmp dword [ecx], esi
jne 0x100843d2
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x100843c0
jmp 0x100843f3
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
test eax, 0x6ee0
mov dword [esp + 0xd4], eax
test edx, edx
mov dword [esp + 0xbc], edx
test ebx, ebx
cmp eax, ebp
jl 0x10084406
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x100843b4
xor edx, edx
cmp edi, ebx
jle 0x1008446d
xor esi, esi
mov edi, edi
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x10084459
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov edi, edi
cmp dword [ecx], edi
jne 0x10084434
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10084422
jmp 0x10084452
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov al, al
mov dword [esp + 0xcc], eax
mov edi, edi
mov dword [esp + 0xc4], edx
mov ch, ch
cmp eax, ebx
jge 0x10084466
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x10084410
jmp 0x1008446d
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x100844d3
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 0x100844c6
mov ebx, dword [esp + 0x70]
mov ecx, esi
test esi, esi
cmp dword [ecx], ebx
jne 0x100844a3
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x10084491
jmp 0x100844c4
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
test eax, 0x622f
mov dword [esp + 0xc0], eax
test ch, ch
mov dword [esp + 0xb8], edx
mov edx, edx
cmp eax, ebp
jl 0x100844d1
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10084485
jmp 0x100844d3
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x10084540
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 0x10084537
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
add ecx, esi
mov edi, edi
cmp dword [ecx], ebp
jne 0x1008451a
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10084508
jmp 0x10084537
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
test edx, edx
mov dword [esp + 0xd0], eax
nop
mov dword [esp + 0xc8], edx
test eax, eax
cmp eax, ebx
jge 0x10084540
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x100844f3
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x10084df6
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x10086785
jmp 0x10084570
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10084dd0
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 0x10084610
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 eax
pop eax
push edx
pop edx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov ch, ch
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov ebp, ebp
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
test eax, 0x1596
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
test cl, cl
test eax, 0xff000000
jne 0x10084daf
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ch, ch
movzx ebp, ah
test ah, ah
and eax, 0xff
mov dword [esp + 0x14], eax
push edx
pop edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
mov edx, edx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov dl, dl
mov edi, eax
and edi, 0xff
push ebx
pop ebx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
push ebx
pop ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10084715
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1008472c
mov ecx, ebp
mov esi, esi
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10084746
mov ebp, eax
push eax
pop eax
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x10084daf
cmp eax, dword [esp + 0x1c]
jg 0x10084daf
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x10084daf
cmp eax, ecx
jg 0x10084daf
cmp edi, esi
jl 0x10084daf
cmp edi, ebp
jg 0x10084daf
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx ebp, dh
test ah, ah
and edx, 0xff
push edx
pop edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
mov edx, edx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
mov dl, dl
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x24], ecx
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x58], ecx
push ebx
pop ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10084824
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10084839
mov ebp, 0xff
mov esi, esi
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1008484e
mov edx, 0xff
push eax
pop eax
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x10084daf
cmp esi, eax
jg 0x10084daf
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10084daf
cmp eax, ebp
jg 0x10084daf
cmp edi, ecx
jl 0x10084daf
cmp edi, edx
jg 0x10084daf
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, bh
test ah, ah
and ebx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
mov edx, edx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
mov dl, dl
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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
xchg ebx, eax
xchg ebx, eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x58], edx
push ebx
pop ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x10084928
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1008493d
mov edi, 0xff
mov esi, esi
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10084952
mov ebx, 0xff
push eax
pop eax
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x10084daf
cmp edx, eax
jg 0x10084daf
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10084daf
cmp eax, edi
jg 0x10084daf
cmp esi, ecx
jl 0x10084daf
cmp esi, ebx
jg 0x10084daf
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, ch
test ah, ah
and ecx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov edx, edx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov dl, dl
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
xchg ebx, eax
xchg ebx, eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
push ebx
pop ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10084a33
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10084a48
mov edi, 0xff
mov esi, esi
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10084a5d
mov ecx, 0xff
push eax
pop eax
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10084daf
cmp ebx, dword [esp + 0x14]
jg 0x10084daf
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10084daf
cmp ebx, edi
jg 0x10084daf
cmp esi, edx
jl 0x10084daf
cmp esi, ecx
jg 0x10084daf
mov esi, esi
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10084baa
cmp dword [esp + 0x6c], ecx
jne 0x10084baa
cmp ebp, ecx
jne 0x10084baa
cmp dword [esp + 0x18], ecx
jne 0x10084baa
cmp eax, ecx
jne 0x10084baa
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10084c34
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x10084af0
mov edi, edi
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10084b1a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10084b1e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10084b06
test eax, eax
je 0x10084b7b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10084b6d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10084b7b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10084b6d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10084b7b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10084b6d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10084b7b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10084b7b
test esi, esi
mov eax, 1
jg 0x10084b7d
or eax, 0xffffffff
jmp 0x10084b7d
xor eax, eax
test eax, eax
jne 0x10084c34
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 0x10084af0
jmp 0x10084c34
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10084c34
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 0x10084c14
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.1005e170
add esp, 0x14
test eax, eax
je 0x10084c0b
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10084bd4
jmp 0x10084c14
cmp esi, dword [esp + 0x94]
jl 0x10084c34
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 0x10084bc3
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10084daf
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
mov edi, edi
test al, al
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 dl, dl
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.10103959
add esp, 0x14
mov ch, ch
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x10084d41
push 0x10165379
push 0x10165378
mov ecx, esi
call fcn.1000cf60
test eax, 0x2666
lea eax, [esp + 0x104]
lea edx, [eax + 1]
jmp 0x10084d50
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10084d50
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.1000cf60
mov ebx, ebx
mov eax, eax
mov ebx, ebx
test edi, edi
jle 0x10084daf
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
lea ecx, [ecx]
test edi, edi
jle 0x10084da8
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
mov cl, cl
add eax, 4
sub ecx, 1
jne 0x10084d98
add edx, ebx
sub esi, 1
jne 0x10084d90
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 0x10084610
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 0x10084570
jmp 0x10086785
cmp eax, 1
jne 0x10085698
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x10086785
jmp 0x10084e20
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10085688
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 0x10084ec0
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 ebx, ebx
test eax, 0x4fa2
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
test eax, 0x332d
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov dh, dh
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 dh, dh
test eax, 0xff000000
jne 0x10085667
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ch, ch
movzx ebp, ah
test ah, ah
and eax, 0xff
mov dword [esp + 0x14], eax
push edx
pop edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov edx, edx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov dl, dl
mov edi, eax
and edi, 0xff
push ebx
pop ebx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
push ebx
pop ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10084fc8
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10084fdf
mov ecx, ebp
mov esi, esi
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10084ff9
mov ebp, eax
push eax
pop eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10085667
cmp eax, dword [esp + 0x1c]
jg 0x10085667
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10085667
cmp eax, ecx
jg 0x10085667
cmp edi, esi
jl 0x10085667
cmp edi, ebp
jg 0x10085667
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx ebp, dh
test ah, ah
and edx, 0xff
push edx
pop edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov edx, edx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov dl, dl
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
push ebx
pop ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x100850d7
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x100850ec
mov ebp, 0xff
mov esi, esi
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10085101
mov edx, 0xff
push eax
pop eax
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10085667
cmp esi, eax
jg 0x10085667
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10085667
cmp eax, ebp
jg 0x10085667
cmp edi, ecx
jl 0x10085667
cmp edi, edx
jg 0x10085667
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, bh
test ah, ah
and ebx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov edx, edx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov dl, dl
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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
xchg ebx, eax
xchg ebx, eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
push ebx
pop ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x100851db
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x100851f0
mov edi, 0xff
mov esi, esi
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10085205
mov ebx, 0xff
push eax
pop eax
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10085667
cmp edx, eax
jg 0x10085667
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10085667
cmp eax, edi
jg 0x10085667
cmp esi, ecx
jl 0x10085667
cmp esi, ebx
jg 0x10085667
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, ch
test ah, ah
and ecx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov edx, edx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov dl, dl
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
xchg ebx, eax
xchg ebx, eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
push ebx
pop ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100852e6
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x100852fb
mov edi, 0xff
mov esi, esi
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10085310
mov ecx, 0xff
push eax
pop eax
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10085667
cmp ebx, dword [esp + 0x14]
jg 0x10085667
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10085667
cmp ebx, edi
jg 0x10085667
cmp esi, edx
jl 0x10085667
cmp esi, ecx
jg 0x10085667
mov ah, ah
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10085464
cmp dword [esp + 0x6c], ecx
jne 0x10085464
cmp ebp, ecx
jne 0x10085464
cmp dword [esp + 0x18], ecx
jne 0x10085464
cmp eax, ecx
jne 0x10085464
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100854f2
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x100853a0
test eax, 0x74de
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x100853d4
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100853d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100853c0
test eax, eax
je 0x10085435
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10085427
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10085435
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10085427
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10085435
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10085427
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10085435
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10085435
test esi, esi
mov eax, 1
jg 0x10085437
or eax, 0xffffffff
jmp 0x10085437
xor eax, eax
test eax, eax
jne 0x100854f2
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 0x100853a0
jmp 0x100854f2
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100854f2
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
push ebx
pop ebx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x100854d2
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.1005e170
add esp, 0x14
test eax, eax
je 0x100854c9
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10085492
jmp 0x100854d2
cmp esi, dword [esp + 0x94]
jl 0x100854f2
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 0x10085481
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10085667
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
test eax, eax
test cl, cl
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 bh, bh
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.10103959
add esp, 0x14
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x100855fc
push 0x10165379
push 0x10165378
mov ecx, esi
call fcn.1000cf60
test edi, edi
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10085606
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.1000cf60
test dl, dl
mov dl, dl
mov esi, esi
test edi, edi
jle 0x10085667
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10085660
mov eax, edx
mov ecx, edi
jmp 0x10085650
mov dword [eax], 0xff000000
mov bl, bl
add eax, 4
sub ecx, 1
jne 0x10085650
add edx, ebx
sub esi, 1
jne 0x10085643
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 0x10084ec0
sub dword [esp + 0x40], 1
jns 0x10084e20
jmp 0x10086785
cmp eax, 2
jne 0x10085f17
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x10086785
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x10085ef1
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
push eax
pop eax
test ebx, ebx
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]
mov ebp, ebp
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 bl, bl
test eax, 0xff000000
jne 0x10085ee6
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ch, ch
movzx ebp, ah
test ah, ah
and eax, 0xff
mov dword [esp + 0x14], eax
push edx
pop edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov edx, edx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov dl, dl
mov edi, eax
and edi, 0xff
push ebx
pop ebx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
push ebx
pop ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10085852
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10085869
mov ecx, ebp
mov esi, esi
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10085883
mov ebp, eax
push eax
pop eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10085ee6
cmp eax, dword [esp + 0x1c]
jg 0x10085ee6
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10085ee6
cmp eax, ecx
jg 0x10085ee6
cmp edi, esi
jl 0x10085ee6
cmp edi, ebp
jg 0x10085ee6
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx ebp, dh
test ah, ah
and edx, 0xff
push edx
pop edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov edx, edx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov dl, dl
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
push ebx
pop ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10085961
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10085976
mov ebp, 0xff
mov esi, esi
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1008598b
mov edx, 0xff
push eax
pop eax
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10085ee6
cmp esi, eax
jg 0x10085ee6
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10085ee6
cmp eax, ebp
jg 0x10085ee6
cmp edi, ecx
jl 0x10085ee6
cmp edi, edx
jg 0x10085ee6
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, bh
test ah, ah
and ebx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov edx, edx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov dl, dl
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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
xchg ebx, eax
xchg ebx, eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
push ebx
pop ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x10085a65
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10085a7a
mov edi, 0xff
mov esi, esi
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10085a8f
mov ebx, 0xff
push eax
pop eax
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10085ee6
cmp edx, eax
jg 0x10085ee6
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10085ee6
cmp eax, edi
jg 0x10085ee6
cmp esi, ecx
jl 0x10085ee6
cmp esi, ebx
jg 0x10085ee6
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, ch
test ah, ah
and ecx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov edx, edx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov dl, dl
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
xchg ebx, eax
xchg ebx, eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
push ebx
pop ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10085b70
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10085b85
mov edi, 0xff
mov esi, esi
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10085b9a
mov ecx, 0xff
push eax
pop eax
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10085ee6
cmp ebx, dword [esp + 0x14]
jg 0x10085ee6
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10085ee6
cmp ebx, edi
jg 0x10085ee6
cmp esi, edx
jl 0x10085ee6
cmp esi, ecx
jg 0x10085ee6
mov esi, esi
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10085ce4
cmp dword [esp + 0x6c], ecx
jne 0x10085ce4
cmp ebp, ecx
jne 0x10085ce4
cmp dword [esp + 0x18], ecx
jne 0x10085ce4
cmp eax, ecx
jne 0x10085ce4
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10085d72
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
test esi, esi
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10085c54
jmp 0x10085c40
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10085c58
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10085c40
test eax, eax
je 0x10085cb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10085ca7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10085cb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10085ca7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10085cb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10085ca7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10085cb5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10085cb5
test esi, esi
mov eax, 1
jg 0x10085cb7
or eax, 0xffffffff
jmp 0x10085cb7
xor eax, eax
test eax, eax
jne 0x10085d72
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 0x10085c25
jmp 0x10085d72
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10085d72
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
xchg ebx, eax
xchg ebx, eax
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10085d52
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.1005e170
add esp, 0x14
test eax, eax
je 0x10085d49
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10085d12
jmp 0x10085d52
cmp esi, dword [esp + 0x94]
jl 0x10085d72
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 0x10085d01
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10085ee6
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 bh, bh
mov ecx, ecx
test esi, esi
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
mov 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 + 0x13c]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.10103959
add esp, 0x14
mov edx, edx
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x10085e7c
push 0x10165379
push 0x10165378
mov ecx, esi
call fcn.1000cf60
mov bl, bl
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10085e86
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.1000cf60
mov bl, bl
push ebx
pop ebx
mov eax, eax
test edi, edi
jle 0x10085ee6
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10085edf
mov eax, edx
mov ecx, edi
jmp 0x10085ed0
mov dword [eax], 0xff000000
nop
add eax, 4
sub ecx, 1
jne 0x10085ed0
add edx, ebx
sub esi, 1
jne 0x10085ec3
sub dword [esp + 0x3c], 1
jns 0x10085750
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 0x100856c0
jmp 0x10086785
cmp eax, 3
jne 0x10086785
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x10086785
jmp 0x10085f40
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1008677a
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
mov al, al
test eax, 0x623
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
test dh, dh
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
test eax, 0x6c14
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
test eax, eax
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
test al, al
test eax, 0xff000000
jne 0x1008676f
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
test ch, ch
movzx ebp, ah
test ah, ah
and eax, 0xff
mov dword [esp + 0x14], eax
push edx
pop edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov edx, edx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov dl, dl
mov edi, eax
and edi, 0xff
push ebx
pop ebx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
push ebx
pop ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x100860d8
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x100860ef
mov ecx, ebp
mov esi, esi
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10086109
mov ebp, eax
push eax
pop eax
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1008676f
cmp eax, dword [esp + 0x1c]
jg 0x1008676f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008676f
cmp eax, ecx
jg 0x1008676f
cmp edi, esi
jl 0x1008676f
cmp edi, ebp
jg 0x1008676f
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, edx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx ebp, dh
test ah, ah
and edx, 0xff
push edx
pop edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov edx, edx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov dl, dl
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
xchg ebx, eax
xchg ebx, eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
push ebx
pop ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x100861e7
mov eax, 0xff
test ecx, ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x100861fc
mov ebp, 0xff
mov esi, esi
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10086211
mov edx, 0xff
push eax
pop eax
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1008676f
cmp esi, eax
jg 0x1008676f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008676f
cmp eax, ebp
jg 0x1008676f
cmp edi, ecx
jl 0x1008676f
cmp edi, edx
jg 0x1008676f
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov eax, ebx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, bh
test ah, ah
and ebx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov edx, edx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov dl, dl
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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
xchg ebx, eax
xchg ebx, eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
push ebx
pop ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x100862eb
mov eax, 0xff
test ecx, ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10086300
mov edi, 0xff
mov esi, esi
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10086315
mov ebx, 0xff
push eax
pop eax
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1008676f
cmp edx, eax
jg 0x1008676f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1008676f
cmp eax, edi
jg 0x1008676f
cmp esi, ecx
jl 0x1008676f
cmp esi, ebx
jg 0x1008676f
mov dl, dl
test ah, ah
push ebx
pop ebx
test eax, eax
mov al, al
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
test ch, ch
movzx edi, ch
test ah, ah
and ecx, 0xff
push edx
pop edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov edx, edx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov dl, dl
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
xchg ebx, eax
xchg ebx, eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
push ebx
pop ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100863f6
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1008640b
mov edi, 0xff
mov esi, esi
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10086420
mov ecx, 0xff
push eax
pop eax
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1008676f
cmp ebx, dword [esp + 0x14]
jg 0x1008676f
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1008676f
cmp ebx, edi
jg 0x1008676f
cmp esi, edx
jl 0x1008676f
cmp esi, ecx
jg 0x1008676f
test eax, eax
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008656a
cmp dword [esp + 0x6c], ecx
jne 0x1008656a
cmp ebp, ecx
jne 0x1008656a
cmp dword [esp + 0x18], ecx
jne 0x1008656a
cmp eax, ecx
jne 0x1008656a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10086600
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x100864b0
test dl, dl
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x100864da
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100864de
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100864c6
test eax, eax
je 0x1008653b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008652d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008653b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008652d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008653b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008652d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008653b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1008653b
test esi, esi
mov eax, 1
jg 0x1008653d
or eax, 0xffffffff
jmp 0x1008653d
xor eax, eax
test eax, eax
jne 0x10086600
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 0x100864b0
jmp 0x10086600
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10086600
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 0x100865e0
mov edi, dword [esp + 0x14]
jmp 0x100865a0
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.1005e170
add esp, 0x14
test eax, eax
je 0x100865d7
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100865a0
jmp 0x100865e0
cmp esi, dword [esp + 0x94]
jl 0x10086600
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 0x10086587
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1008676f
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 edx, edx
mov edx, edx
test eax, eax
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 dl, dl
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.10103959
add esp, 0x14
mov edi, edi
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1008670a
push 0x10165379
push 0x10165378
mov ecx, esi
call fcn.1000cf60
mov dh, dh
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10086714
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.1000cf60
mov ch, ch
nop
mov dh, dh
test edi, edi
jle 0x1008676f
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10086768
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
mov edi, edi
add eax, 4
sub ecx, 1
jne 0x10086758
add edx, ebx
sub esi, 1
jne 0x10086750
sub dword [esp + 0x3c], 1
jns 0x10085fd0
sub dword [esp + 0x40], 1
jns 0x10085f40
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x1008679f
mov eax, dword [esp + 0xec]
cmp dword [eax + 0x32f0], 0
jne 0x100867b1
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.10101432
add esp, 4
test dh, dh
cmp dword [esi + 0x18], 0
je 0x100867e2
mov edx, dword [esp + 0x38]
push edx
call fcn.10101432
add esp, 4
mov ecx, ecx
jmp 0x100867e2
cmp dword [esi + 0x10], 0
jne 0x100867d7
cmp dword [ebx + 0x32f0], 0
jne 0x100867e2
push eax
call fcn.10101432
add esp, 4
xchg ebx, eax
xchg ebx, eax
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x10084050
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1010190d
add esp, 0x148
ret
jmp fcn.100f364f