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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101cc114]
xor eax, esp
mov dword [esp + 0x144], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
push edi
mov dword [esp + 0x48], esi
mov dword [esp + 0xf0], eax
mov ebp, ebp
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov ecx, ecx
push eax
pop eax
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
mov ebx, ebx
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
mov eax, eax
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
mov bl, bl
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
mov dh, dh
mov al, al
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
mov edx, edx
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
mov bl, bl
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
nop
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
mov ebx, ebx
push 0
push 0x101818e0
call fcn.1000a1c0
push eax
pop eax
push edx
pop edx
mov ebp, ebp
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x10084c19
push ebp
jmp 0x100824f9
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x10084c18
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.10119710
add esp, 0xc
mov ah, ah
mov al, al
mov dword [esp + 0x38], 0
push ebx
pop ebx
mov dh, dh
mov cl, cl
lea ebp, [ebx + 0x3260]
push 0x3e8
push ebp
call fcn.10057360
add esp, 8
push eax
pop eax
test edi, edi
jl 0x10084c31
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x10084c31
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.1007e250
add esp, 0x1c
test eax, eax
push ebp
jne 0x100825a3
call fcn.100573f0
add esp, 4
mov dh, dh
jmp 0x10084bfa
call fcn.100573f0
add esp, 4
mov ch, ch
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov cl, cl
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x10084be0
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x10084be0
cmp dword [esi + 0x18], 0
jne 0x1008261b
test edi, edi
jle 0x100826e7
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x1008260f
mov eax, edx
mov ecx, ebp
jmp 0x10082600
mov al, al
mov byte [eax], 0
push ebx
pop ebx
add eax, 4
sub ecx, 1
jne 0x10082600
add edx, edi
sub esi, 1
jne 0x100825f3
jmp 0x100826e7
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.10117399
add esp, 4
mov dword [esp + 0x38], eax
mov al, al
test eax, eax
jne 0x1008265d
cmp dword [esi + 0x10], eax
jne 0x10082646
cmp dword [ebx + 0x32f8], eax
jne 0x10084bfa
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.1011745c
add esp, 4
push edx
pop edx
jmp 0x10084bfa
test edi, edi
jle 0x100826e7
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 0x100826d4
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
nop
mov ebx, ebx
movzx eax, byte [ecx + 1]
mov dl, dl
movzx edx, byte [ecx]
nop
movzx edi, byte [ecx - 1]
mov ch, ch
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
push eax
pop eax
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov ch, ch
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x10082694
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x10082686
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x10181830]
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]
push ecx
pop ecx
mov ebp, ebp
mov ebx, ebx
mov dl, dl
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dl, dl
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x101817e0
push eax
call fcn.10119c85
add esp, 0xc
nop
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
mov bh, bh
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
mov bh, bh
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
mov ecx, ecx
mov cl, cl
mov ebp, ebp
mov bh, bh
mov bl, bl
mov dh, dh
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
mov esi, esi
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
mov edx, edx
mov dword [esp + 0xc4], ebx
push ecx
pop ecx
mov dword [esp + 0xc0], ebx
push eax
pop eax
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
push ecx
pop ecx
mov dword [esp + 0xd0], ecx
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xc8], eax
mov ebp, ebp
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
mov esi, esi
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
mov ecx, ecx
mov eax, dword [esp + 0x48]
add esi, 0xffffffff
imul eax, esi
mov esi, dword [edi + eax]
mov dword [esp + 0x60], esi
mov al, al
add edi, eax
mov eax, dword [edi + ebp*4 - 4]
mov dword [esp + 0x64], eax
push ecx
pop ecx
mov dword [esp + 0x6c], ebx
mov ebp, ebp
mov dword [esp + 0x70], ecx
mov bh, bh
cmp ecx, edx
jne 0x100829cb
cmp edx, esi
jne 0x100829cb
cmp esi, eax
jne 0x100829cb
mov dword [esp + 0x6c], 1
mov cl, cl
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x10082894
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
xor eax, eax
cmp ebp, ebx
jle 0x10082881
mov esi, dword [esp + 0x70]
mov ecx, ecx
cmp dword [ecx], esi
jne 0x10082863
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x10082851
jmp 0x10082881
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov bl, bl
mov dword [esp + 0xd4], eax
mov ah, ah
mov dword [esp + 0xbc], edx
xchg ebx, eax
xchg ebx, eax
cmp eax, ebp
jl 0x10082894
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x10082847
xor edx, edx
cmp edi, ebx
jle 0x100828fc
xor esi, esi
lea esp, [esp]
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x100828e8
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov esi, esi
cmp dword [ecx], edi
jne 0x100828c4
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x100828b2
jmp 0x100828e1
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
push ebx
pop ebx
mov dword [esp + 0xcc], eax
mov dh, dh
mov dword [esp + 0xc4], edx
nop
cmp eax, ebx
jge 0x100828f5
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x100828a0
jmp 0x100828fc
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x1008295f
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 0x10082952
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov ebx, ebx
cmp dword [ecx], ebx
jne 0x10082932
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x10082920
jmp 0x10082950
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
mov ecx, ecx
mov dword [esp + 0xc0], eax
mov esi, esi
mov dword [esp + 0xb8], edx
mov edx, edx
cmp eax, ebp
jl 0x1008295d
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10082914
jmp 0x1008295f
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x100829cb
mov edi, dword [esp + 0x48]
add ebp, 0xffffffff
mov esi, edx
imul esi, edi
mov dword [esp + 0x14], ebp
neg edi
nop
mov eax, dword [esp + 0x14]
cmp eax, ebx
jl 0x100829c2
mov ebp, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
nop
cmp dword [ecx], ebp
jne 0x100829a4
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10082993
jmp 0x100829c2
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov cl, cl
mov dword [esp + 0xd0], eax
mov edx, edx
mov dword [esp + 0xc8], edx
mov ch, ch
cmp eax, ebx
jge 0x100829cb
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10082980
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x1008325e
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x10084b9d
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10083238
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 0x10082a90
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 esi, esi
push eax
pop eax
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov ebx, ebx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
push ecx
pop ecx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
push ecx
pop ecx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
mov eax, eax
test eax, 0xff000000
jne 0x10083217
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dl, dl
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov bl, bl
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov dh, dh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov cl, cl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10082b90
mov dword [esp + 0x1c], ecx
mov esi, esi
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10082ba7
mov ecx, ebp
push ecx
pop ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10082bc1
mov ebp, eax
push ebx
pop ebx
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x10083217
cmp eax, dword [esp + 0x1c]
jg 0x10083217
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x10083217
cmp eax, ecx
jg 0x10083217
cmp edi, esi
jl 0x10083217
cmp edi, ebp
jg 0x10083217
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx ebp, dh
mov edx, edx
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov bl, bl
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x24], ecx
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x58], ecx
mov dh, dh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov cl, cl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10082c9d
mov eax, 0xff
mov esi, esi
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10082cb2
mov ebp, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10082cc7
mov edx, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x10083217
cmp esi, eax
jg 0x10083217
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10083217
cmp eax, ebp
jg 0x10083217
cmp edi, ecx
jl 0x10083217
cmp edi, edx
jg 0x10083217
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, bh
mov edx, edx
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov bl, bl
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
nop
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x58], edx
mov dh, dh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov cl, cl
add eax, ebp
cmp eax, 0xff
jle 0x10082d9f
mov eax, 0xff
mov esi, esi
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10082db4
mov edi, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10082dc9
mov ebx, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x10083217
cmp edx, eax
jg 0x10083217
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10083217
cmp eax, edi
jg 0x10083217
cmp esi, ecx
jl 0x10083217
cmp esi, ebx
jg 0x10083217
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, ch
mov edx, edx
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov bl, bl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
nop
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dh, dh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov cl, cl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10082ea8
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10082ebd
mov edi, 0xff
push ecx
pop ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10082ed2
mov ecx, 0xff
push ebx
pop ebx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10083217
cmp ebx, dword [esp + 0x14]
jg 0x10083217
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10083217
cmp ebx, edi
jg 0x10083217
cmp esi, edx
jl 0x10083217
cmp esi, ecx
jg 0x10083217
push ebx
pop ebx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008301a
cmp dword [esp + 0x6c], ecx
jne 0x1008301a
cmp ebp, ecx
jne 0x1008301a
cmp dword [esp + 0x18], ecx
jne 0x1008301a
cmp eax, ecx
jne 0x1008301a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100830b0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
lea ecx, [ecx]
mov eax, eax
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10082f8a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10082f8e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10082f76
test eax, eax
je 0x10082feb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10082fdd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10082feb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10082fdd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10082feb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10082fdd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10082feb
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10082feb
test esi, esi
mov eax, 1
jg 0x10082fed
or eax, 0xffffffff
jmp 0x10082fed
xor eax, eax
test eax, eax
jne 0x100830b0
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 0x10082f60
jmp 0x100830b0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100830b0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov bl, bl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10083090
mov edi, dword [esp + 0x14]
jmp 0x10083050
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.10061e30
add esp, 0x14
test eax, eax
je 0x10083087
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10083050
jmp 0x10083090
cmp esi, dword [esp + 0x94]
jl 0x100830b0
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 0x10083037
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10083217
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
xchg ebx, eax
xchg ebx, eax
mov bh, bh
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 ah, ah
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.101191d0
add esp, 0x14
mov ah, ah
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x100831b5
push 1
push 0x10181488
mov ecx, esi
call fcn.1000a0d0
mov ah, ah
lea eax, [esp + 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100831c0
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0d0
mov bl, bl
push eax
pop eax
mov ah, ah
test edi, edi
jle 0x10083217
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10083210
mov eax, edx
mov ecx, edi
mov edi, edi
mov dword [eax], 0xff000000
mov cl, cl
add eax, 4
sub ecx, 1
jne 0x10083200
add edx, ebx
sub esi, 1
jne 0x100831f6
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 0x10082a90
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 0x100829f2
jmp 0x10084b9d
cmp eax, 1
jne 0x10083ad8
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x10084b9d
nop
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10083ac8
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 0x10083320
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 edx
pop edx
mov ah, ah
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov cl, cl
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov bh, bh
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ebx, ebx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
push eax
pop eax
test eax, 0xff000000
jne 0x10083aa7
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dl, dl
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov bl, bl
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov dh, dh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov cl, cl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10083420
mov dword [esp + 0x1c], ecx
mov esi, esi
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10083437
mov ecx, ebp
push ecx
pop ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10083451
mov ebp, eax
push ebx
pop ebx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10083aa7
cmp eax, dword [esp + 0x1c]
jg 0x10083aa7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10083aa7
cmp eax, ecx
jg 0x10083aa7
cmp edi, esi
jl 0x10083aa7
cmp edi, ebp
jg 0x10083aa7
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx ebp, dh
mov edx, edx
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov bl, bl
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov dh, dh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov cl, cl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1008352d
mov eax, 0xff
mov esi, esi
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10083542
mov ebp, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10083557
mov edx, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10083aa7
cmp esi, eax
jg 0x10083aa7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10083aa7
cmp eax, ebp
jg 0x10083aa7
cmp edi, ecx
jl 0x10083aa7
cmp edi, edx
jg 0x10083aa7
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, bh
mov edx, edx
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov bl, bl
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
nop
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov dh, dh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov cl, cl
add eax, ebp
cmp eax, 0xff
jle 0x1008362f
mov eax, 0xff
mov esi, esi
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10083644
mov edi, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10083659
mov ebx, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10083aa7
cmp edx, eax
jg 0x10083aa7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10083aa7
cmp eax, edi
jg 0x10083aa7
cmp esi, ecx
jl 0x10083aa7
cmp esi, ebx
jg 0x10083aa7
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, ch
mov edx, edx
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov bl, bl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
nop
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dh, dh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov cl, cl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10083738
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1008374d
mov edi, 0xff
push ecx
pop ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10083762
mov ecx, 0xff
push ebx
pop ebx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10083aa7
cmp ebx, dword [esp + 0x14]
jg 0x10083aa7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10083aa7
cmp ebx, edi
jg 0x10083aa7
cmp esi, edx
jl 0x10083aa7
cmp esi, ecx
jg 0x10083aa7
mov cl, cl
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x100838aa
cmp dword [esp + 0x6c], ecx
jne 0x100838aa
cmp ebp, ecx
jne 0x100838aa
cmp dword [esp + 0x18], ecx
jne 0x100838aa
cmp eax, ecx
jne 0x100838aa
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10083940
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
lea ecx, [ecx]
mov ebx, ebx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1008381a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1008381e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10083806
test eax, eax
je 0x1008387b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008386d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008387b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008386d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008387b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008386d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008387b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1008387b
test esi, esi
mov eax, 1
jg 0x1008387d
or eax, 0xffffffff
jmp 0x1008387d
xor eax, eax
test eax, eax
jne 0x10083940
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 0x100837f0
jmp 0x10083940
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10083940
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 0x10083920
mov edi, dword [esp + 0x14]
jmp 0x100838e0
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.10061e30
add esp, 0x14
test eax, eax
je 0x10083917
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100838e0
jmp 0x10083920
cmp esi, dword [esp + 0x94]
jl 0x10083940
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 0x100838c7
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10083aa7
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 ah, ah
mov dl, dl
mov edi, edi
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
nop
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.101191d0
add esp, 0x14
nop
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x10083a43
push 1
push 0x10181488
mov ecx, esi
call fcn.1000a0d0
mov ebx, ebx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10083a50
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0d0
mov edx, edx
mov ecx, ecx
push eax
pop eax
test edi, edi
jle 0x10083aa7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10083aa0
mov eax, edx
mov ecx, edi
mov edi, edi
mov dword [eax], 0xff000000
mov dh, dh
add eax, 4
sub ecx, 1
jne 0x10083a90
add edx, ebx
sub esi, 1
jne 0x10083a86
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 0x10083320
sub dword [esp + 0x40], 1
jns 0x10083280
jmp 0x10084b9d
cmp eax, 2
jne 0x10084348
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x10084b9d
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x10084322
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 cl, cl
push ecx
pop ecx
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 al, al
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ah, ah
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
push eax
pop eax
test eax, 0xff000000
jne 0x10084317
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dl, dl
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov bl, bl
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov dh, dh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov cl, cl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10083c90
mov dword [esp + 0x1c], ecx
mov esi, esi
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10083ca7
mov ecx, ebp
push ecx
pop ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10083cc1
mov ebp, eax
push ebx
pop ebx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10084317
cmp eax, dword [esp + 0x1c]
jg 0x10084317
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10084317
cmp eax, ecx
jg 0x10084317
cmp edi, esi
jl 0x10084317
cmp edi, ebp
jg 0x10084317
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx ebp, dh
mov edx, edx
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov bl, bl
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov dh, dh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov cl, cl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10083d9d
mov eax, 0xff
mov esi, esi
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10083db2
mov ebp, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10083dc7
mov edx, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10084317
cmp esi, eax
jg 0x10084317
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10084317
cmp eax, ebp
jg 0x10084317
cmp edi, ecx
jl 0x10084317
cmp edi, edx
jg 0x10084317
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, bh
mov edx, edx
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov bl, bl
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
nop
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov dh, dh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov cl, cl
add eax, ebp
cmp eax, 0xff
jle 0x10083e9f
mov eax, 0xff
mov esi, esi
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10083eb4
mov edi, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10083ec9
mov ebx, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10084317
cmp edx, eax
jg 0x10084317
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10084317
cmp eax, edi
jg 0x10084317
cmp esi, ecx
jl 0x10084317
cmp esi, ebx
jg 0x10084317
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, ch
mov edx, edx
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov bl, bl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
nop
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dh, dh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov cl, cl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10083fa8
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10083fbd
mov edi, 0xff
push ecx
pop ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10083fd2
mov ecx, 0xff
push ebx
pop ebx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10084317
cmp ebx, dword [esp + 0x14]
jg 0x10084317
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10084317
cmp ebx, edi
jg 0x10084317
cmp esi, edx
jl 0x10084317
cmp esi, ecx
jg 0x10084317
mov bh, bh
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008411a
cmp dword [esp + 0x6c], ecx
jne 0x1008411a
cmp ebp, ecx
jne 0x1008411a
cmp dword [esp + 0x18], ecx
jne 0x1008411a
cmp eax, ecx
jne 0x1008411a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100841b0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
lea ecx, [ecx]
push ecx
pop ecx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1008408a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1008408e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10084076
test eax, eax
je 0x100840eb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x100840dd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100840eb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x100840dd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100840eb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x100840dd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100840eb
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x100840eb
test esi, esi
mov eax, 1
jg 0x100840ed
or eax, 0xffffffff
jmp 0x100840ed
xor eax, eax
test eax, eax
jne 0x100841b0
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 0x10084060
jmp 0x100841b0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100841b0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov bl, bl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10084190
mov edi, dword [esp + 0x14]
jmp 0x10084150
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.10061e30
add esp, 0x14
test eax, eax
je 0x10084187
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10084150
jmp 0x10084190
cmp esi, dword [esp + 0x94]
jl 0x100841b0
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 0x10084137
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10084317
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov cl, cl
mov eax, eax
mov eax, eax
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 eax
pop eax
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.101191d0
add esp, 0x14
mov al, al
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x100842b5
push 1
push 0x10181488
mov ecx, esi
call fcn.1000a0d0
mov dh, dh
lea eax, [esp + 0x104]
lea edx, [eax + 1]
nop
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100842c0
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0d0
push ecx
pop ecx
push ecx
pop ecx
mov dh, dh
test edi, edi
jle 0x10084317
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10084310
mov eax, edx
mov ecx, edi
mov edi, edi
mov dword [eax], 0xff000000
mov edi, edi
add eax, 4
sub ecx, 1
jne 0x10084300
add edx, ebx
sub esi, 1
jne 0x100842f6
sub dword [esp + 0x3c], 1
jns 0x10083b90
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 0x10083b00
jmp 0x10084b9d
cmp eax, 3
jne 0x10084b9d
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x10084b9d
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x10084b92
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 eax, eax
mov cl, cl
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
mov ebx, ebx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov edx, edx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov edi, edi
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov ebx, ebx
test eax, 0xff000000
jne 0x10084b87
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dl, dl
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov ebx, ebx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov bl, bl
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov dh, dh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov cl, cl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10084500
mov dword [esp + 0x1c], ecx
mov esi, esi
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10084517
mov ecx, ebp
push ecx
pop ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10084531
mov ebp, eax
push ebx
pop ebx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10084b87
cmp eax, dword [esp + 0x1c]
jg 0x10084b87
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10084b87
cmp eax, ecx
jg 0x10084b87
cmp edi, esi
jl 0x10084b87
cmp edi, ebp
jg 0x10084b87
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx ebp, dh
mov edx, edx
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov ebx, ebx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov bl, bl
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
nop
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov dh, dh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov cl, cl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1008460d
mov eax, 0xff
mov esi, esi
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10084622
mov ebp, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10084637
mov edx, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10084b87
cmp esi, eax
jg 0x10084b87
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10084b87
cmp eax, ebp
jg 0x10084b87
cmp edi, ecx
jl 0x10084b87
cmp edi, edx
jg 0x10084b87
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, bh
mov edx, edx
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov bl, bl
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
nop
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov dh, dh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov cl, cl
add eax, ebp
cmp eax, 0xff
jle 0x1008470f
mov eax, 0xff
mov esi, esi
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10084724
mov edi, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10084739
mov ebx, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10084b87
cmp edx, eax
jg 0x10084b87
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10084b87
cmp eax, edi
jg 0x10084b87
cmp esi, ecx
jl 0x10084b87
cmp esi, ebx
jg 0x10084b87
mov al, al
push ecx
pop ecx
mov cl, cl
mov ch, ch
mov bh, bh
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dl, dl
movzx edi, ch
mov edx, edx
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov ebx, ebx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov bl, bl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
nop
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dh, dh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov cl, cl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10084818
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1008482d
mov edi, 0xff
push ecx
pop ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10084842
mov ecx, 0xff
push ebx
pop ebx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10084b87
cmp ebx, dword [esp + 0x14]
jg 0x10084b87
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10084b87
cmp ebx, edi
jg 0x10084b87
cmp esi, edx
jl 0x10084b87
cmp esi, ecx
jg 0x10084b87
mov dh, dh
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1008498a
cmp dword [esp + 0x6c], ecx
jne 0x1008498a
cmp ebp, ecx
jne 0x1008498a
cmp dword [esp + 0x18], ecx
jne 0x1008498a
cmp eax, ecx
jne 0x1008498a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10084a20
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
lea ecx, [ecx]
mov ch, ch
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x100848fa
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100848fe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100848e6
test eax, eax
je 0x1008495b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008494d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008495b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008494d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008495b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1008494d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1008495b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1008495b
test esi, esi
mov eax, 1
jg 0x1008495d
or eax, 0xffffffff
jmp 0x1008495d
xor eax, eax
test eax, eax
jne 0x10084a20
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 0x100848d0
jmp 0x10084a20
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10084a20
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov ebp, ebp
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10084a00
mov edi, dword [esp + 0x14]
jmp 0x100849c0
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.10061e30
add esp, 0x14
test eax, eax
je 0x100849f7
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100849c0
jmp 0x10084a00
cmp esi, dword [esp + 0x94]
jl 0x10084a20
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 0x100849a7
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10084b87
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 bh, bh
nop
mov bl, bl
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 ebp, ebp
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.101191d0
add esp, 0x14
mov bh, bh
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x10084b24
push 1
push 0x10181488
mov ecx, esi
call fcn.1000a0d0
push edx
pop edx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10084b30
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a0d0
mov ecx, ecx
push eax
pop eax
mov al, al
test edi, edi
jle 0x10084b87
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10084b80
mov eax, edx
mov ecx, edi
mov edi, edi
mov dword [eax], 0xff000000
xchg ebx, eax
xchg ebx, eax
add eax, 4
sub ecx, 1
jne 0x10084b70
add edx, ebx
sub esi, 1
jne 0x10084b66
sub dword [esp + 0x3c], 1
jns 0x10084400
sub dword [esp + 0x40], 1
jns 0x10084370
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x10084bb7
mov ecx, dword [esp + 0xec]
cmp dword [ecx + 0x32f8], 0
jne 0x10084bc9
mov edx, dword [esp + 0xe8]
push edx
call fcn.1011745c
add esp, 4
mov esi, esi
cmp dword [esi + 0x18], 0
je 0x10084bfa
mov eax, dword [esp + 0x38]
push eax
call fcn.1011745c
add esp, 4
mov dl, dl
jmp 0x10084bfa
cmp dword [esi + 0x10], 0
jne 0x10084bef
cmp dword [ebx + 0x32f8], 0
jne 0x10084bfa
push eax
call fcn.1011745c
add esp, 4
mov dh, dh
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x100824f2
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10117937
add esp, 0x148
ret
jmp fcn.1010967c