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

Disassembly:
sub esp, 0x1fc
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x1f8], eax
push esi
mov esi, ecx
mov eax, dword [esi + 4]
mov dword [esp + 0x2c], esi
mov dword [esp + 0xec], eax
mov dh, dh
mov ecx, dword [esi]
mov dword [esp + 0x88], ecx
mov cl, cl
mov ebx, ebx
mov edx, dword [esi + 0x44]
mov dword [esp + 0x44], edx
mov dl, dl
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd8], eax
mov eax, eax
mov ecx, dword [esi + 0x58]
mov dword [esp + 0xe8], ecx
mov ch, ch
xchg ebx, eax
xchg ebx, eax
fld qword [esi + 0x160]
fstp qword [esp + 0xf0]
mov cl, cl
mov edx, dword [esi + 0x48]
mov dword [esp + 0xe0], edx
push eax
pop eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xe4], eax
push eax
pop eax
mov edi, edi
mov cl, cl
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esi + 0x168]
push 0x10166930
push 0x10166930
call fcn.1000bc80
push ebx
pop ebx
mov cl, cl
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
mov dword [esp + 0xdc], eax
jg 0x10068dfe
push ebx
push ebp
push edi
mov edi, eax
jmp 0x10066990
mov ah, ah
mov dword [esp + 0x30], 0
mov al, al
mov esi, esi
mov bl, bl
cmp dword [esi + 0x16c], 0
jne 0x10068dfb
mov ebp, dword [esp + 0x94]
lea ebx, [ebp + 0x3264]
push 0x3e8
push ebx
call fcn.100414d0
add esp, 8
mov bl, bl
test edi, edi
jl 0x10068f58
mov eax, dword [esp + 0xf8]
cmp edi, dword [eax + 8]
jge 0x10068f58
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + edi*4]
push 0
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xbc]
push edx
push edi
push ebp
call fcn.10065c20
add esp, 0x1c
test eax, eax
push ebx
jne 0x10066a1e
call fcn.10041560
add esp, 4
push eax
pop eax
jmp 0x10068cd5
call fcn.10041560
add esp, 4
mov edx, edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x90], eax
nop
mov ebx, dword [esp + 0xb0]
cmp ebx, dword [esi + 0x20]
jg 0x10068cbb
mov edi, dword [esp + 0xb4]
cmp edi, dword [esi + 0x24]
jg 0x10068cbb
cmp dword [esi + 0x18], 0
jne 0x10066a92
test edi, edi
jle 0x10066b65
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x40]
add edx, 3
lea ecx, [ecx]
test ebx, ebx
jle 0x10066a86
mov eax, edx
mov ecx, ebx
mov cl, cl
mov byte [eax], 0
nop
add eax, 4
sub ecx, 1
jne 0x10066a78
add edx, edi
sub esi, 1
jne 0x10066a70
jmp 0x10066b65
mov eax, edi
imul eax, dword [esp + 0x40]
push eax
call fcn.100fbefc
add esp, 4
mov dword [esp + 0x30], eax
push ebx
pop ebx
test eax, eax
jne 0x10066ad4
cmp dword [esi + 0x10], eax
jne 0x10066abd
cmp dword [ebp + 0x32fc], eax
jne 0x10068cd5
mov ecx, dword [esp + 0x90]
push ecx
call fcn.100fbfbf
add esp, 4
mov ebp, ebp
jmp 0x10068cd5
test edi, edi
jle 0x10066b65
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0xb4]
add eax, 1
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], ecx
lea ecx, [ecx]
test ebx, ebx
jle 0x10066b52
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov ebp, ebx
mov edi, edi
push eax
pop eax
mov dh, dh
movzx eax, byte [ecx + 1]
push eax
pop eax
movzx edx, byte [ecx]
mov bh, bh
movzx edi, byte [ecx - 1]
mov eax, eax
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov dh, dh
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov cl, cl
add ecx, 4
add esi, 4
sub ebp, 1
jne 0x10066b10
mov eax, dword [esp + 0x40]
add dword [esp + 0x74], eax
add dword [esp + 0x70], eax
sub dword [esp + 0x14], 1
jne 0x10066b00
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x20]
fmul qword [0x10166898]
movzx eax, word [esp + 0x20]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0xdc]
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x70], edi
fldcw word [esp + 0x20]
mov ah, ah
push ebx
pop ebx
mov ecx, ecx
push eax
pop eax
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov eax, eax
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x3c]
add eax, 0x5c
push 0x10166820
push eax
call fcn.100feacd
add esp, 0xc
mov ch, ch
movzx esi, byte [esp + 0x12]
add esi, edi
mov ebx, ebx
movzx eax, byte [esp + 0x11]
add eax, edi
mov dword [esp + 0x24], eax
mov al, al
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, edi
mov dword [esp + 0x20], eax
push ebx
pop ebx
push edx
pop edx
push edx
pop edx
mov dl, dl
mov ebx, ebx
mov cl, cl
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa8], ebp
push eax
pop eax
lea eax, [ebx - 1]
mov dword [esp + 0xa4], eax
mov ecx, ecx
mov dword [esp + 0x98], ebp
mov ecx, ecx
mov dword [esp + 0xd8], ebp
push eax
pop eax
mov edx, dword [esp + 0xb4]
lea ebp, [edx - 1]
mov dword [esp + 0x5c], ebp
mov ebx, ebx
mov dword [esp + 0xa0], eax
mov al, al
mov dword [esp + 0x9c], ebp
mov al, al
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov dword [esp + 0x68], edi
mov ebp, ebp
mov ecx, dword [eax + ebx*4 - 4]
mov dword [esp + 0x64], ecx
mov ch, ch
lea eax, [edx - 1]
imul eax, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov edx, dword [eax + edx]
mov dword [esp + 0x58], edx
mov ebp, ebp
mov edx, dword [esp + 0x30]
lea eax, [eax + ebx*4]
mov eax, dword [eax + edx - 4]
mov dword [esp + 0x60], eax
push ecx
pop ecx
mov dword [esp + 0x6c], 0
xchg ebx, eax
xchg ebx, eax
mov edx, edi
mov dword [esp + 0x74], edx
push eax
pop eax
cmp edi, ecx
jne 0x10066e70
mov edi, dword [esp + 0x58]
cmp ecx, edi
jne 0x10066e70
cmp edi, eax
jne 0x10066e70
mov dword [esp + 0x6c], 1
mov ecx, ecx
xor ecx, ecx
cmp dword [esp + 0xb4], ecx
jle 0x10066d27
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
xor eax, eax
test ebx, ebx
jle 0x10066d0f
lea ebx, [ebx]
nop
cmp dword [edi], edx
jne 0x10066cf1
add eax, 1
add edi, 4
cmp eax, ebx
jl 0x10066ce0
jmp 0x10066d0f
mov edi, dword [edi]
mov dword [esp + 0x68], edi
mov esi, esi
mov dword [esp + 0xa8], eax
push ebx
pop ebx
mov dword [esp + 0xd4], ecx
mov ah, ah
cmp eax, ebx
jl 0x10066d27
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x40]
add ecx, 1
cmp ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], edi
jl 0x10066cd4
xor edi, edi
cmp dword [esp + 0xb4], edi
jle 0x10066d8e
xor ecx, ecx
mov dword [esp + 0x14], ecx
lea eax, [ebx - 1]
test eax, eax
jl 0x10066d76
lea ecx, [ecx + eax*4]
add ecx, dword [esp + 0x30]
mov ch, ch
cmp dword [ecx], edx
jne 0x10066d58
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x10066d46
jmp 0x10066d76
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov eax, eax
mov dword [esp + 0xa4], eax
push ecx
pop ecx
mov dword [esp + 0x98], edi
mov dh, dh
test eax, eax
jge 0x10066d8e
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x40]
add edi, 1
cmp edi, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
jl 0x10066d38
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x10066e02
mov eax, dword [esp + 0x40]
mov ecx, eax
neg ecx
mov dword [esp + 0x1c], ecx
mov ecx, edi
imul ecx, eax
add ecx, dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
xor eax, eax
test ebx, ebx
jle 0x10066def
jmp 0x10066dc0
mov esi, esi
cmp dword [ecx], edx
jne 0x10066dd2
add eax, 1
add ecx, 4
cmp eax, ebx
jl 0x10066dc0
jmp 0x10066deb
mov ecx, dword [ecx]
mov dword [esp + 0x58], ecx
mov edi, edi
mov dword [esp + 0xd8], eax
mov dh, dh
mov ebp, edi
push ebx
pop ebx
cmp eax, ebx
jl 0x10066dfe
mov ecx, dword [esp + 0x5c]
add ecx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
mov dword [esp + 0x5c], ecx
jge 0x10066db5
mov dword [esp + 0x5c], ebp
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x10066e70
mov eax, dword [esp + 0x40]
add ebx, 0xffffffff
mov dword [esp + 0x18], ebx
mov ebx, edi
imul ebx, eax
neg eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x10066e65
lea ecx, [ebx + eax*4]
add ecx, dword [esp + 0x30]
push eax
pop eax
cmp dword [ecx], edx
jne 0x10066e47
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x10066e35
jmp 0x10066e65
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
push eax
pop eax
mov dword [esp + 0xa0], eax
mov edi, edi
mov dword [esp + 0x9c], edi
mov al, al
test eax, eax
jge 0x10066e70
add ebx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
jge 0x10066e26
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x1006760e
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x24]
xor edi, edi
sub eax, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x10068c79
lea esp, [esp]
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x20]
xor ecx, ecx
sub eax, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x100675ec
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], eax
jmp 0x10066f57
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov edx, edx
push ecx
pop ecx
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
mov edi, edi
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov bl, bl
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov ecx, ecx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0xdc], ecx
mov cl, cl
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov dword [esp + 0x14], ebp
mov al, al
and eax, 0xff
mov dword [esp + 0x1c], eax
nop
mov dl, dl
mov bh, bh
mov eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x34], eax
mov dh, dh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x4c], eax
mov bh, bh
mov ebp, dword [esp + 0x1c]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push ecx
pop ecx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x10067025
mov dword [esp + 0x18], ecx
mov cl, cl
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10067045
mov dword [esp + 0x14], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10067065
mov dword [esp + 0x1c], ecx
mov ch, ch
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x34]
jl 0x100675c3
cmp ecx, dword [esp + 0x18]
jg 0x100675c3
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x4c]
jl 0x100675c3
cmp ecx, dword [esp + 0x14]
jg 0x100675c3
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jl 0x100675c3
cmp ecx, dword [esp + 0x1c]
jg 0x100675c3
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ecx, dh
mov dword [esp + 0x18], ecx
mov al, al
and edx, 0xff
mov dword [esp + 0x14], edx
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x4c], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x54], ecx
mov bh, bh
and edx, 0xff
mov eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
mov dh, dh
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x28], ecx
mov bh, bh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10067158
mov dword [esp + 0x1c], eax
mov cl, cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x10067178
mov dword [esp + 0x18], ecx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10067198
mov dword [esp + 0x14], ecx
mov ch, ch
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x100675c3
cmp eax, dword [esp + 0x1c]
jg 0x100675c3
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x28]
jl 0x100675c3
cmp eax, dword [esp + 0x18]
jg 0x100675c3
cmp edx, ebp
jl 0x100675c3
cmp edx, dword [esp + 0x14]
jg 0x100675c3
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edx, bh
mov al, al
and ebx, 0xff
mov dword [esp + 0x18], ebx
nop
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov dl, dl
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x4c], ebx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x54], ebx
mov dh, dh
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
mov bh, bh
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push ecx
pop ecx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1006727e
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x10067292
mov dword [esp + 0x1c], edx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x100672ad
mov edx, ecx
mov ch, ch
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x54]
jl 0x100675c3
cmp ecx, dword [esp + 0x14]
jg 0x100675c3
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x100675c3
cmp eax, dword [esp + 0x1c]
jg 0x100675c3
cmp ebp, ebx
jl 0x100675c3
cmp ebp, edx
jg 0x100675c3
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0xdc]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebx, ch
mov al, al
and ecx, 0xff
mov dword [esp + 0x18], ecx
nop
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0xdc], ecx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x54], edx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x28], ecx
mov dh, dh
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x4c], ecx
mov bh, bh
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
jle 0x10067396
mov eax, 0xff
mov cl, cl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100673b2
mov dword [esp + 0x14], ebx
xchg ebx, eax
xchg ebx, eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x100673cd
mov ebx, ecx
mov ch, ch
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x100675c3
cmp ecx, eax
jg 0x100675c3
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x4c]
jl 0x100675c3
cmp ecx, dword [esp + 0x14]
jg 0x100675c3
cmp ebp, edx
jl 0x100675c3
cmp ebp, ebx
jg 0x100675c3
mov dl, dl
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x10067520
cmp dword [esp + 0x6c], eax
jne 0x10067520
cmp esi, eax
jne 0x10067520
cmp dword [esp + 0x24], eax
jne 0x10067520
cmp dword [esp + 0x20], eax
jne 0x10067520
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x100675b2
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
nop
mov dh, dh
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x10067488
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1006748c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10067474
test eax, eax
je 0x100674e9
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x100674db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100674e9
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x100674db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100674e9
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x100674db
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100674e9
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x100674e9
test ebx, ebx
mov eax, 1
jg 0x100674eb
or eax, 0xffffffff
jmp 0x100674eb
xor eax, eax
test eax, eax
jne 0x100675b2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x10067460
jmp 0x100675b2
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x100675b2
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov edx, edx
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x10067592
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [ebp + ebx*4]
push edx
mov edx, dword [edi]
push eax
push esi
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x10067589
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x10067551
jmp 0x10067592
cmp ebx, dword [esp + 0xb0]
jl 0x100675b2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x10067540
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0xb4]
je 0x10068cf8
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + 0x20]
sub edx, dword [esp + 0xb0]
add ecx, 1
cmp ecx, edx
mov dword [esp + 0x48], ecx
jle 0x10066f50
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0xb4]
add edi, 1
cmp edi, ecx
mov dword [esp + 0x44], edi
jle 0x10066ea0
jmp 0x10068c79
cmp eax, 1
jne 0x10067d8e
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x10068c79
nop
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0x20]
xor ecx, ecx
sub edx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x10067d7c
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], eax
jmp 0x100676e7
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov cl, cl
mov bl, bl
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
push ecx
pop ecx
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov bl, bl
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
nop
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov ebx, ebx
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov dword [esp + 0x18], ebp
mov al, al
and eax, 0xff
mov dword [esp + 0x14], eax
nop
mov dl, dl
mov bh, bh
mov eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
mov dh, dh
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x2c], eax
mov bh, bh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push ecx
pop ecx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x100677b4
mov dword [esp + 0x1c], ecx
mov cl, cl
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x100677d4
mov dword [esp + 0x18], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100677f4
mov dword [esp + 0x14], ecx
mov ch, ch
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x10067d53
cmp ecx, dword [esp + 0x1c]
jg 0x10067d53
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x10067d53
cmp ecx, dword [esp + 0x18]
jg 0x10067d53
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x10067d53
cmp ecx, dword [esp + 0x14]
jg 0x10067d53
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ecx, dh
mov dword [esp + 0x18], ecx
mov al, al
and edx, 0xff
mov dword [esp + 0x14], edx
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
mov bh, bh
and edx, 0xff
mov eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
mov dh, dh
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
mov bh, bh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x100678e7
mov dword [esp + 0x1c], eax
mov cl, cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x10067907
mov dword [esp + 0x18], ecx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10067927
mov dword [esp + 0x14], ecx
mov ch, ch
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x10067d53
cmp eax, dword [esp + 0x1c]
jg 0x10067d53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x10067d53
cmp eax, dword [esp + 0x18]
jg 0x10067d53
cmp edx, ebp
jl 0x10067d53
cmp edx, dword [esp + 0x14]
jg 0x10067d53
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edx, bh
mov al, al
and ebx, 0xff
mov dword [esp + 0x18], ebx
nop
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov dl, dl
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
mov dh, dh
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
mov bh, bh
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push ecx
pop ecx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x10067a0d
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x10067a21
mov dword [esp + 0x1c], edx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x10067a3c
mov edx, ecx
mov ch, ch
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x10067d53
cmp ecx, dword [esp + 0x14]
jg 0x10067d53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x10067d53
cmp eax, dword [esp + 0x1c]
jg 0x10067d53
cmp ebp, ebx
jl 0x10067d53
cmp ebp, edx
jg 0x10067d53
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebx, ch
mov al, al
and ecx, 0xff
mov dword [esp + 0x18], ecx
nop
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
mov dh, dh
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
mov bh, bh
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
jle 0x10067b22
mov eax, 0xff
mov cl, cl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10067b3e
mov dword [esp + 0x14], ebx
xchg ebx, eax
xchg ebx, eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x10067b59
mov ebx, ecx
mov ch, ch
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x10067d53
cmp ecx, eax
jg 0x10067d53
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x10067d53
cmp ecx, dword [esp + 0x14]
jg 0x10067d53
cmp ebp, edx
jl 0x10067d53
cmp ebp, ebx
jg 0x10067d53
mov edx, edx
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x10067cb0
cmp dword [esp + 0x6c], ecx
jne 0x10067cb0
cmp esi, ecx
jne 0x10067cb0
cmp dword [esp + 0x24], ecx
jne 0x10067cb0
cmp dword [esp + 0x20], ecx
jne 0x10067cb0
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x10067d42
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
jmp 0x10067bf0
mov edi, edi
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x10067c18
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x10067c1c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10067c04
test eax, eax
je 0x10067c79
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x10067c6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10067c79
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x10067c6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10067c79
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x10067c6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10067c79
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x10067c79
test ebx, ebx
mov eax, 1
jg 0x10067c7b
or eax, 0xffffffff
jmp 0x10067c7b
xor eax, eax
test eax, eax
jne 0x10067d42
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x10067bf0
jmp 0x10067d42
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x10067d42
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov bl, bl
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x10067d22
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [edi]
push eax
push ecx
mov ecx, dword [ebp + ebx*4]
push esi
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x10067d19
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x10067ce1
jmp 0x10067d22
cmp ebx, dword [esp + 0xb0]
jl 0x10067d42
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], edx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x10067cd0
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x10068e14
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0xb0]
add ecx, 1
cmp ecx, eax
mov dword [esp + 0x48], ecx
jle 0x100676e0
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x10067630
jmp 0x10068c79
cmp eax, 2
jne 0x1006850e
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x24]
xor edi, edi
sub edx, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x10068c79
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x100684ec
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], eax
jmp 0x10067e67
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov ecx, ecx
mov bl, bl
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
mov al, al
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
push eax
pop eax
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov ah, ah
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
xchg ebx, eax
xchg ebx, eax
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov dword [esp + 0x18], ebp
mov al, al
and eax, 0xff
mov dword [esp + 0x14], eax
nop
mov dl, dl
mov bh, bh
mov eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
mov dh, dh
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x2c], eax
mov bh, bh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push ecx
pop ecx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10067f35
mov dword [esp + 0x1c], ecx
mov cl, cl
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x10067f55
mov dword [esp + 0x18], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10067f75
mov dword [esp + 0x14], ecx
mov ch, ch
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x100684d3
cmp ecx, dword [esp + 0x1c]
jg 0x100684d3
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x100684d3
cmp ecx, dword [esp + 0x18]
jg 0x100684d3
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x100684d3
cmp ecx, dword [esp + 0x14]
jg 0x100684d3
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ecx, dh
mov dword [esp + 0x18], ecx
mov al, al
and edx, 0xff
mov dword [esp + 0x14], edx
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
mov bh, bh
and edx, 0xff
mov eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
mov dh, dh
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
mov bh, bh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10068068
mov dword [esp + 0x1c], eax
mov cl, cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x10068088
mov dword [esp + 0x18], ecx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100680a8
mov dword [esp + 0x14], ecx
mov ch, ch
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x100684d3
cmp eax, dword [esp + 0x1c]
jg 0x100684d3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x100684d3
cmp eax, dword [esp + 0x18]
jg 0x100684d3
cmp edx, ebp
jl 0x100684d3
cmp edx, dword [esp + 0x14]
jg 0x100684d3
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edx, bh
mov al, al
and ebx, 0xff
mov dword [esp + 0x18], ebx
nop
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov dl, dl
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
mov dh, dh
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
mov bh, bh
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push ecx
pop ecx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1006818e
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x100681a2
mov dword [esp + 0x1c], edx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x100681bd
mov edx, ecx
mov ch, ch
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x100684d3
cmp ecx, dword [esp + 0x14]
jg 0x100684d3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x100684d3
cmp eax, dword [esp + 0x1c]
jg 0x100684d3
cmp ebp, ebx
jl 0x100684d3
cmp ebp, edx
jg 0x100684d3
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebx, ch
mov al, al
and ecx, 0xff
mov dword [esp + 0x18], ecx
nop
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
mov dh, dh
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
mov bh, bh
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
jle 0x100682a3
mov eax, 0xff
mov cl, cl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100682bf
mov dword [esp + 0x14], ebx
xchg ebx, eax
xchg ebx, eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x100682da
mov ebx, ecx
mov ch, ch
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x100684d3
cmp ecx, eax
jg 0x100684d3
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x100684d3
cmp ecx, dword [esp + 0x14]
jg 0x100684d3
cmp ebp, edx
jl 0x100684d3
cmp ebp, ebx
jg 0x100684d3
xchg ebx, eax
xchg ebx, eax
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x10068430
cmp dword [esp + 0x6c], ecx
jne 0x10068430
cmp esi, ecx
jne 0x10068430
cmp dword [esp + 0x24], ecx
jne 0x10068430
cmp dword [esp + 0x20], ecx
jne 0x10068430
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x100684c2
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
lea esp, [esp]
mov bh, bh
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x10068398
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1006839c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10068384
test eax, eax
je 0x100683f9
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x100683eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100683f9
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x100683eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100683f9
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x100683eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100683f9
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x100683f9
test ebx, ebx
mov eax, 1
jg 0x100683fb
or eax, 0xffffffff
jmp 0x100683fb
xor eax, eax
test eax, eax
jne 0x100684c2
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x10068370
jmp 0x100684c2
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x100684c2
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov cl, cl
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x100684a2
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [ebp + ebx*4]
push edx
mov edx, dword [edi]
push eax
push esi
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x10068499
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x10068461
jmp 0x100684a2
cmp ebx, dword [esp + 0xb0]
jl 0x100684c2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x10068450
mov edx, dword [esp + 0xb4]
cmp dword [esp + 0x1c], edx
je 0x10068e80
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x10067e60
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0xb4]
add edi, 1
cmp edi, ecx
mov dword [esp + 0x44], edi
jle 0x10067db1
jmp 0x10068c79
cmp eax, 3
jne 0x10068c79
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x10068c79
nop
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x10068c6c
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xd4]
imul ebp, eax
imul edi, eax
mov ebx, dword [esp + 0xa8]
imul edx, eax
lea edx, [edx + ebx*4]
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x8c], edx
mov edx, dword [esp + 0x98]
imul edx, eax
lea edx, [edx + ebx*4]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd8]
lea edx, [ebp + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x9c]
imul edx, eax
mov eax, dword [esp + 0xa0]
lea edx, [edx + eax*4]
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x84], edx
movzx edx, ah
and eax, 0xff
mov dword [esp + 0x80], edi
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], eax
jmp 0x100685e7
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
push eax
pop eax
push eax
pop eax
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
mov dl, dl
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov ch, ch
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov dl, dl
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov edi, edi
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov dword [esp + 0x18], ebp
mov al, al
and eax, 0xff
mov dword [esp + 0x14], eax
nop
mov dl, dl
mov bh, bh
mov eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
mov dh, dh
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x2c], eax
mov bh, bh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push ecx
pop ecx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x100686b5
mov dword [esp + 0x1c], ecx
mov cl, cl
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x100686d5
mov dword [esp + 0x18], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100686f5
mov dword [esp + 0x14], ecx
mov ch, ch
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x10068c53
cmp ecx, dword [esp + 0x1c]
jg 0x10068c53
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x10068c53
cmp ecx, dword [esp + 0x18]
jg 0x10068c53
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x10068c53
cmp ecx, dword [esp + 0x14]
jg 0x10068c53
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ecx, dh
mov dword [esp + 0x18], ecx
mov al, al
and edx, 0xff
mov dword [esp + 0x14], edx
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
mov bh, bh
and edx, 0xff
mov eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
mov dh, dh
mov ebp, dword [esp + 0x18]
sub ebp, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
mov bh, bh
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x100687e8
mov dword [esp + 0x1c], eax
mov cl, cl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x10068808
mov dword [esp + 0x18], ecx
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10068828
mov dword [esp + 0x14], ecx
mov ch, ch
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x10068c53
cmp eax, dword [esp + 0x1c]
jg 0x10068c53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x10068c53
cmp eax, dword [esp + 0x18]
jg 0x10068c53
cmp edx, ebp
jl 0x10068c53
cmp edx, dword [esp + 0x14]
jg 0x10068c53
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edx, bh
mov al, al
and ebx, 0xff
mov dword [esp + 0x18], ebx
nop
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
mov dl, dl
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
mov dh, dh
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
mov bh, bh
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push ecx
pop ecx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1006890e
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x10068922
mov dword [esp + 0x1c], edx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1006893d
mov edx, ecx
mov ch, ch
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x10068c53
cmp ecx, dword [esp + 0x14]
jg 0x10068c53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x10068c53
cmp eax, dword [esp + 0x1c]
jg 0x10068c53
cmp ebp, ebx
jl 0x10068c53
cmp ebp, edx
jg 0x10068c53
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebx, ch
mov al, al
and ecx, 0xff
mov dword [esp + 0x18], ecx
nop
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
mov bh, bh
mov ebp, ecx
and ebp, 0xff
mov eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
mov dh, dh
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
mov bh, bh
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push ecx
pop ecx
add eax, esi
cmp eax, 0xff
jle 0x10068a23
mov eax, 0xff
mov cl, cl
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10068a3f
mov dword [esp + 0x14], ebx
xchg ebx, eax
xchg ebx, eax
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x10068a5a
mov ebx, ecx
mov ch, ch
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x10068c53
cmp ecx, eax
jg 0x10068c53
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x10068c53
cmp ecx, dword [esp + 0x14]
jg 0x10068c53
cmp ebp, edx
jl 0x10068c53
cmp ebp, ebx
jg 0x10068c53
mov ah, ah
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x10068bb0
cmp dword [esp + 0x6c], eax
jne 0x10068bb0
cmp esi, eax
jne 0x10068bb0
cmp dword [esp + 0x24], eax
jne 0x10068bb0
cmp dword [esp + 0x20], eax
jne 0x10068bb0
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x10068c42
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
lea esp, [esp]
mov eax, eax
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x10068b18
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x10068b1c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10068b04
test eax, eax
je 0x10068b79
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x10068b6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10068b79
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x10068b6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10068b79
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x10068b6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10068b79
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x10068b79
test ebx, ebx
mov eax, 1
jg 0x10068b7b
or eax, 0xffffffff
jmp 0x10068b7b
xor eax, eax
test eax, eax
jne 0x10068c42
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edx
jl 0x10068af0
jmp 0x10068c42
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x10068c42
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov esi, esi
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x10068c22
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [edi]
push eax
push ecx
mov ecx, dword [ebp + ebx*4]
push esi
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x10068c19
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x10068be1
jmp 0x10068c22
cmp ebx, dword [esp + 0xb0]
jl 0x10068c42
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x50]
add ebp, dword [esp + 0x40]
add dword [esp + 0x14], edx
add eax, 1
cmp eax, dword [esp + 0xb4]
mov dword [esp + 0x1c], eax
jl 0x10068bd0
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x10068eec
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x100685e0
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x10068530
mov esi, dword [esp + 0x38]
cmp dword [esi + 0x10], 0
jne 0x10068c93
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32fc], 0
jne 0x10068ca4
mov edx, dword [esp + 0x90]
push edx
call fcn.100fbfbf
add esp, 4
nop
cmp dword [esi + 0x18], 0
je 0x10068cd5
mov eax, dword [esp + 0x30]
push eax
call fcn.100fbfbf
add esp, 4
mov dh, dh
jmp 0x10068cd5
cmp dword [esi + 0x10], 0
jne 0x10068cca
cmp dword [ebp + 0x32fc], 0
jne 0x10068cd5
push eax
call fcn.100fbfbf
add esp, 4
mov ebp, ebp
mov edi, dword [esp + 0xe8]
mov esi, dword [esp + 0x38]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0xe8], edi
jle 0x10066990
jmp 0x10068dfb
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
mov ecx, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
push eax
pop eax
mov edx, edx
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x10068d34
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32fc], 0
jne 0x10068d46
mov eax, dword [esp + 0x90]
push eax
call fcn.100fbfbf
add esp, 4
push ecx
pop ecx
cmp dword [ebx + 0x18], 0
je 0x10068d5b
mov ecx, dword [esp + 0x30]
push ecx
call fcn.100fbfbf
add esp, 4
mov esi, esi
mov dl, dl
mov cl, 0x25
mov al, 0x64
mov dl, 0x7c
mov byte [esp + 0xfc], cl
mov byte [esp + 0xfd], al
mov byte [esp + 0xfe], dl
mov byte [esp + 0xff], cl
mov byte [esp + 0x100], al
mov byte [esp + 0x101], dl
mov byte [esp + 0x102], cl
mov byte [esp + 0x103], al
mov byte [esp + 0x104], 0
mov ebp, ebp
mov edx, dword [esp + 0xe8]
push edi
push esi
push edx
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x118]
push ecx
call fcn.100fdd70
add esp, 0x14
mov esi, esi
lea eax, [esp + 0x108]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10068dd3
mov ecx, dword [ebx + 0x168]
sub eax, edx
lea edx, [esp + eax + 0x108]
push edx
lea eax, [esp + 0x10c]
push eax
call fcn.1000bc80
mov ebx, ebx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1fc]
pop esi
xor ecx, esp
call fcn.100fc49a
add esp, 0x1fc
ret
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xec]
lea esi, [edx + eax]
mov edx, edx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xf0]
lea edi, [ecx + edx]
mov edx, edx
mov dh, dh
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x10068e50
mov eax, dword [esp + 0x94]
cmp dword [eax + 0x32fc], 0
jne 0x10068e62
mov ecx, dword [esp + 0x90]
push ecx
call fcn.100fbfbf
add esp, 4
mov ebp, ebp
cmp dword [ebx + 0x18], 0
je 0x10068d5b
mov edx, dword [esp + 0x30]
push edx
call fcn.100fbfbf
add esp, 4
mov ecx, ecx
jmp 0x10068d5b
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xec]
lea esi, [eax + ecx]
mov bh, bh
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0xf0]
lea edi, [edx + eax]
mov eax, eax
push ebx
pop ebx
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x10068ebc
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32fc], 0
jne 0x10068ece
mov edx, dword [esp + 0x90]
push edx
call fcn.100fbfbf
add esp, 4
mov bl, bl
cmp dword [ebx + 0x18], 0
je 0x10068d5b
mov eax, dword [esp + 0x30]
push eax
call fcn.100fbfbf
add esp, 4
mov ah, ah
jmp 0x10068d5b
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
mov ecx, ecx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
mov ch, ch
mov dh, dh
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x10068f28
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32fc], 0
jne 0x10068f3a
mov eax, dword [esp + 0x90]
push eax
call fcn.100fbfbf
add esp, 4
push eax
pop eax
cmp dword [ebx + 0x18], 0
je 0x10068d5b
mov ecx, dword [esp + 0x30]
push ecx
call fcn.100fbfbf
add esp, 4
push eax
pop eax
jmp 0x10068d5b
jmp fcn.100eaf69