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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101c52b4]
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 esi, esi
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov bh, bh
mov ecx, ecx
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
mov cl, cl
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
push eax
pop eax
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
mov eax, eax
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
push ebx
pop ebx
nop
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
nop
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
mov ah, ah
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
mov al, al
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
push edx
pop edx
push 0
push 0x10178a34
call fcn.1000a180
mov dl, dl
mov cl, cl
push ebx
pop ebx
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x1007d249
push ebp
jmp 0x1007ab08
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x1007d248
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.101102f0
add esp, 0xc
mov ch, ch
mov ecx, ecx
mov dword [esp + 0x38], 0
mov cl, cl
mov esi, esi
push ebx
pop ebx
lea ebp, [ebx + 0x325c]
push 0x3e8
push ebp
call fcn.10047da0
add esp, 8
mov ebp, ebp
test edi, edi
jl 0x1007d261
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x1007d261
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.10076830
add esp, 0x1c
test eax, eax
push ebp
jne 0x1007abb2
call fcn.10047e30
add esp, 4
mov edi, edi
jmp 0x1007d22a
call fcn.10047e30
add esp, 4
mov bl, bl
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov edi, edi
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x1007d210
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x1007d210
cmp dword [esi + 0x18], 0
jne 0x1007ac2b
test edi, edi
jle 0x1007acf9
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x1007ac1f
mov eax, edx
mov ecx, ebp
lea ebx, [ebx]
mov dh, dh
mov byte [eax], 0
mov al, al
add eax, 4
sub ecx, 1
jne 0x1007ac10
add edx, edi
sub esi, 1
jne 0x1007ac02
jmp 0x1007acf9
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.1010df39
add esp, 4
mov dword [esp + 0x38], eax
mov eax, eax
test eax, eax
jne 0x1007ac6d
cmp dword [esi + 0x10], eax
jne 0x1007ac56
cmp dword [ebx + 0x32f4], eax
jne 0x1007d22a
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.1010dffc
add esp, 4
push edx
pop edx
jmp 0x1007d22a
test edi, edi
jle 0x1007acf9
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 0x1007ace6
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
push eax
pop eax
mov dl, dl
movzx eax, byte [ecx + 1]
xchg ebx, eax
xchg ebx, eax
movzx edx, byte [ecx]
mov ebp, ebp
movzx edi, byte [ecx - 1]
xchg ebx, eax
xchg ebx, eax
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov ebp, ebp
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov ebp, ebp
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x1007aca4
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x1007ac96
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x10179910]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x74], esi
fldcw word [esp + 0x18]
mov ecx, ecx
mov ah, ah
xchg ebx, eax
xchg ebx, eax
mov ebx, ebx
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ebx, ebx
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x101798c0
push eax
call fcn.10110865
add esp, 0xc
xchg ebx, eax
xchg ebx, eax
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
mov ebx, ebx
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
push ecx
pop ecx
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
mov ecx, ecx
mov ebp, ebp
mov esi, esi
mov edx, edx
mov dh, dh
mov bl, bl
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
mov bh, bh
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
mov cl, cl
mov dword [esp + 0xc4], ebx
mov bh, bh
mov dword [esp + 0xc0], ebx
mov ch, ch
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
mov edi, edi
mov dword [esp + 0xd0], ecx
mov dl, dl
mov dword [esp + 0xc8], eax
mov bh, bh
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
mov ah, ah
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
mov bh, bh
mov eax, dword [esp + 0x48]
add esi, 0xffffffff
imul eax, esi
mov esi, dword [edi + eax]
mov dword [esp + 0x60], esi
mov eax, eax
add edi, eax
mov eax, dword [edi + ebp*4 - 4]
mov dword [esp + 0x64], eax
mov ecx, ecx
mov dword [esp + 0x6c], ebx
mov dl, dl
mov dword [esp + 0x70], ecx
mov bl, bl
cmp ecx, edx
jne 0x1007afec
cmp edx, esi
jne 0x1007afec
cmp esi, eax
jne 0x1007afec
mov dword [esp + 0x6c], 1
push eax
pop eax
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x1007aeb3
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
lea ebx, [ebx]
xor eax, eax
cmp ebp, ebx
jle 0x1007aea0
mov esi, dword [esp + 0x70]
lea ebx, [ebx]
mov bl, bl
cmp dword [ecx], esi
jne 0x1007ae82
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1007ae70
jmp 0x1007aea0
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
push ecx
pop ecx
mov dword [esp + 0xd4], eax
mov cl, cl
mov dword [esp + 0xbc], edx
mov ecx, ecx
cmp eax, ebp
jl 0x1007aeb3
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x1007ae60
xor edx, edx
cmp edi, ebx
jle 0x1007af1d
xor esi, esi
jmp 0x1007aec0
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x1007af09
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov edx, edx
cmp dword [ecx], edi
jne 0x1007aee4
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1007aed2
jmp 0x1007af02
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov dl, dl
mov dword [esp + 0xcc], eax
mov ebp, ebp
mov dword [esp + 0xc4], edx
mov al, al
cmp eax, ebx
jge 0x1007af16
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x1007aec0
jmp 0x1007af1d
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x1007af80
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 0x1007af73
mov ebx, dword [esp + 0x70]
mov ecx, esi
push ecx
pop ecx
cmp dword [ecx], ebx
jne 0x1007af53
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1007af41
jmp 0x1007af71
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
push edx
pop edx
mov dword [esp + 0xc0], eax
mov eax, eax
mov dword [esp + 0xb8], edx
mov edx, edx
cmp eax, ebp
jl 0x1007af7e
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1007af35
jmp 0x1007af80
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x1007afec
mov edi, dword [esp + 0x48]
add ebp, 0xffffffff
mov esi, edx
imul esi, edi
mov dword [esp + 0x14], ebp
neg edi
mov eax, dword [esp + 0x14]
cmp eax, ebx
jl 0x1007afe3
mov ebp, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov edx, edx
cmp dword [ecx], ebp
jne 0x1007afc5
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1007afb3
jmp 0x1007afe3
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov edx, edx
mov dword [esp + 0xd0], eax
mov ah, ah
mov dword [esp + 0xc8], edx
mov ch, ch
cmp eax, ebx
jge 0x1007afec
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1007afa0
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x1007b88e
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1007d1cd
jmp 0x1007b020
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1007b868
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 0x1007b0c0
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 ah, ah
mov ch, ch
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov ebx, ebx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
push ebx
pop ebx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov esi, esi
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
push edx
pop edx
test eax, 0xff000000
jne 0x1007b847
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dh, dh
movzx ebp, ah
mov cl, cl
and eax, 0xff
mov dword [esp + 0x14], eax
mov ch, ch
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
mov cl, cl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov edi, eax
and edi, 0xff
mov esi, esi
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov ah, ah
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 dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007b1c2
mov dword [esp + 0x1c], ecx
mov bl, bl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1007b1d9
mov ecx, ebp
mov edx, edx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1007b1f3
mov ebp, eax
push ecx
pop ecx
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x1007b847
cmp eax, dword [esp + 0x1c]
jg 0x1007b847
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x1007b847
cmp eax, ecx
jg 0x1007b847
cmp edi, esi
jl 0x1007b847
cmp edi, ebp
jg 0x1007b847
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx ebp, dh
mov cl, cl
and edx, 0xff
mov ch, ch
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
mov cl, cl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
push ecx
pop ecx
mov edi, ecx
and edi, 0xff
mov esi, esi
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x24], ecx
mov ah, ah
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 dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007b2d1
mov eax, 0xff
mov bl, bl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1007b2e6
mov ebp, 0xff
mov edx, edx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1007b2fb
mov edx, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x1007b847
cmp esi, eax
jg 0x1007b847
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1007b847
cmp eax, ebp
jg 0x1007b847
cmp edi, ecx
jl 0x1007b847
cmp edi, edx
jg 0x1007b847
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, bh
mov cl, cl
and ebx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
mov cl, cl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
push ecx
pop ecx
mov esi, ecx
and esi, 0xff
mov esi, esi
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
mov ah, ah
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 dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1007b3d5
mov eax, 0xff
mov bl, bl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1007b3ea
mov edi, 0xff
mov edx, edx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007b3ff
mov ebx, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x1007b847
cmp edx, eax
jg 0x1007b847
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1007b847
cmp eax, edi
jg 0x1007b847
cmp esi, ecx
jl 0x1007b847
cmp esi, ebx
jg 0x1007b847
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, ch
mov cl, cl
and ecx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov cl, cl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov esi, edx
and esi, 0xff
mov esi, esi
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov ah, ah
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 dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007b4e0
mov dword [esp + 0x14], eax
mov bl, bl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1007b4f5
mov edi, 0xff
mov edx, edx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1007b50a
mov ecx, 0xff
push ecx
pop ecx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1007b847
cmp ebx, dword [esp + 0x14]
jg 0x1007b847
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1007b847
cmp ebx, edi
jg 0x1007b847
cmp esi, edx
jl 0x1007b847
cmp esi, ecx
jg 0x1007b847
push edx
pop edx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007b654
cmp dword [esp + 0x6c], ecx
jne 0x1007b654
cmp ebp, ecx
jne 0x1007b654
cmp dword [esp + 0x18], ecx
jne 0x1007b654
cmp eax, ecx
jne 0x1007b654
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007b6e2
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov bh, bh
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1007b5c4
jmp 0x1007b5b0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1007b5c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007b5b0
test eax, eax
je 0x1007b625
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007b617
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007b625
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007b617
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007b625
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007b617
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007b625
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007b625
test esi, esi
mov eax, 1
jg 0x1007b627
or eax, 0xffffffff
jmp 0x1007b627
xor eax, eax
test eax, eax
jne 0x1007b6e2
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 0x1007b595
jmp 0x1007b6e2
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007b6e2
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
push eax
pop eax
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1007b6c2
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.100527c0
add esp, 0x14
test eax, eax
je 0x1007b6b9
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1007b682
jmp 0x1007b6c2
cmp esi, dword [esp + 0x94]
jl 0x1007b6e2
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 0x1007b671
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1007b847
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
push edx
pop edx
push eax
pop eax
mov dl, dl
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 bh, bh
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x154]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.1010fdb0
add esp, 0x14
mov ebp, ebp
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1007b7e7
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
push ecx
pop ecx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b7f1
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a090
mov al, al
push edx
pop edx
mov ah, ah
test edi, edi
jle 0x1007b847
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1007b840
mov eax, edx
mov ecx, edi
nop
mov dword [eax], 0xff000000
mov cl, cl
add eax, 4
sub ecx, 1
jne 0x1007b830
add edx, ebx
sub esi, 1
jne 0x1007b827
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 0x1007b0c0
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 0x1007b020
jmp 0x1007d1cd
cmp eax, 1
jne 0x1007c108
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1007d1cd
nop
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1007c0f8
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 0x1007b950
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 dh, dh
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
nop
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov edx, edx
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
mov bl, bl
test eax, 0xff000000
jne 0x1007c0d7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dh, dh
movzx ebp, ah
mov cl, cl
and eax, 0xff
mov dword [esp + 0x14], eax
mov ch, ch
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov cl, cl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov edi, eax
and edi, 0xff
mov esi, esi
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov ah, ah
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 dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007ba51
mov dword [esp + 0x1c], ecx
mov bl, bl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1007ba68
mov ecx, ebp
mov edx, edx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1007ba82
mov ebp, eax
push ecx
pop ecx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1007c0d7
cmp eax, dword [esp + 0x1c]
jg 0x1007c0d7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007c0d7
cmp eax, ecx
jg 0x1007c0d7
cmp edi, esi
jl 0x1007c0d7
cmp edi, ebp
jg 0x1007c0d7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx ebp, dh
mov cl, cl
and edx, 0xff
mov ch, ch
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov cl, cl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov edi, ecx
and edi, 0xff
mov esi, esi
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
mov ah, ah
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 dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007bb60
mov eax, 0xff
mov bl, bl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1007bb75
mov ebp, 0xff
mov edx, edx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1007bb8a
mov edx, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1007c0d7
cmp esi, eax
jg 0x1007c0d7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007c0d7
cmp eax, ebp
jg 0x1007c0d7
cmp edi, ecx
jl 0x1007c0d7
cmp edi, edx
jg 0x1007c0d7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, bh
mov cl, cl
and ebx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov cl, cl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
push ecx
pop ecx
mov esi, ecx
and esi, 0xff
mov esi, esi
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
mov ah, ah
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 dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1007bc64
mov eax, 0xff
mov bl, bl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1007bc79
mov edi, 0xff
mov edx, edx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007bc8e
mov ebx, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1007c0d7
cmp edx, eax
jg 0x1007c0d7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007c0d7
cmp eax, edi
jg 0x1007c0d7
cmp esi, ecx
jl 0x1007c0d7
cmp esi, ebx
jg 0x1007c0d7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, ch
mov cl, cl
and ecx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov cl, cl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov esi, edx
and esi, 0xff
mov esi, esi
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov ah, ah
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 dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007bd6f
mov dword [esp + 0x14], eax
mov bl, bl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1007bd84
mov edi, 0xff
mov edx, edx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1007bd99
mov ecx, 0xff
push ecx
pop ecx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1007c0d7
cmp ebx, dword [esp + 0x14]
jg 0x1007c0d7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1007c0d7
cmp ebx, edi
jg 0x1007c0d7
cmp esi, edx
jl 0x1007c0d7
cmp esi, ecx
jg 0x1007c0d7
push ebx
pop ebx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007bee4
cmp dword [esp + 0x6c], ecx
jne 0x1007bee4
cmp ebp, ecx
jne 0x1007bee4
cmp dword [esp + 0x18], ecx
jne 0x1007bee4
cmp eax, ecx
jne 0x1007bee4
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007bf72
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov bh, bh
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1007be54
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1007be58
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007be40
test eax, eax
je 0x1007beb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007bea7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007beb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007bea7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007beb5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007bea7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007beb5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007beb5
test esi, esi
mov eax, 1
jg 0x1007beb7
or eax, 0xffffffff
jmp 0x1007beb7
xor eax, eax
test eax, eax
jne 0x1007bf72
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 0x1007be24
jmp 0x1007bf72
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007bf72
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov dh, dh
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1007bf52
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.100527c0
add esp, 0x14
test eax, eax
je 0x1007bf49
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1007bf12
jmp 0x1007bf52
cmp esi, dword [esp + 0x94]
jl 0x1007bf72
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 0x1007bf01
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1007c0d7
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 ecx, ecx
push eax
pop eax
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
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 + 0x148]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.1010fdb0
add esp, 0x14
mov bl, bl
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1007c077
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
push ebx
pop ebx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c081
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a090
mov esi, esi
mov cl, cl
mov ebp, ebp
test edi, edi
jle 0x1007c0d7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1007c0d0
mov eax, edx
mov ecx, edi
nop
mov dword [eax], 0xff000000
mov ch, ch
add eax, 4
sub ecx, 1
jne 0x1007c0c0
add edx, ebx
sub esi, 1
jne 0x1007c0b7
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 0x1007b950
sub dword [esp + 0x40], 1
jns 0x1007b8b0
jmp 0x1007d1cd
cmp eax, 2
jne 0x1007c978
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1007d1cd
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1007c952
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 edi, edi
mov bh, bh
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov eax, eax
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
nop
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov al, al
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov edx, edx
test eax, 0xff000000
jne 0x1007c947
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dh, dh
movzx ebp, ah
mov cl, cl
and eax, 0xff
mov dword [esp + 0x14], eax
mov ch, ch
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov cl, cl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov edi, eax
and edi, 0xff
mov esi, esi
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov ah, ah
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 dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007c2c1
mov dword [esp + 0x1c], ecx
mov bl, bl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1007c2d8
mov ecx, ebp
mov edx, edx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1007c2f2
mov ebp, eax
push ecx
pop ecx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1007c947
cmp eax, dword [esp + 0x1c]
jg 0x1007c947
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007c947
cmp eax, ecx
jg 0x1007c947
cmp edi, esi
jl 0x1007c947
cmp edi, ebp
jg 0x1007c947
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx ebp, dh
mov cl, cl
and edx, 0xff
mov ch, ch
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov cl, cl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov edi, ecx
and edi, 0xff
mov esi, esi
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
mov ah, ah
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 dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007c3d0
mov eax, 0xff
mov bl, bl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1007c3e5
mov ebp, 0xff
mov edx, edx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1007c3fa
mov edx, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1007c947
cmp esi, eax
jg 0x1007c947
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007c947
cmp eax, ebp
jg 0x1007c947
cmp edi, ecx
jl 0x1007c947
cmp edi, edx
jg 0x1007c947
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, bh
mov cl, cl
and ebx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov cl, cl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
push ecx
pop ecx
mov esi, ecx
and esi, 0xff
mov esi, esi
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
mov ah, ah
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 dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1007c4d4
mov eax, 0xff
mov bl, bl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1007c4e9
mov edi, 0xff
mov edx, edx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007c4fe
mov ebx, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1007c947
cmp edx, eax
jg 0x1007c947
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007c947
cmp eax, edi
jg 0x1007c947
cmp esi, ecx
jl 0x1007c947
cmp esi, ebx
jg 0x1007c947
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, ch
mov cl, cl
and ecx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov cl, cl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov esi, edx
and esi, 0xff
mov esi, esi
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov ah, ah
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 dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c5df
mov dword [esp + 0x14], eax
mov bl, bl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1007c5f4
mov edi, 0xff
mov edx, edx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1007c609
mov ecx, 0xff
push ecx
pop ecx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1007c947
cmp ebx, dword [esp + 0x14]
jg 0x1007c947
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1007c947
cmp ebx, edi
jg 0x1007c947
cmp esi, edx
jl 0x1007c947
cmp esi, ecx
jg 0x1007c947
mov eax, eax
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007c754
cmp dword [esp + 0x6c], ecx
jne 0x1007c754
cmp ebp, ecx
jne 0x1007c754
cmp dword [esp + 0x18], ecx
jne 0x1007c754
cmp eax, ecx
jne 0x1007c754
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007c7e2
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov cl, cl
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1007c6c4
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1007c6c8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007c6b0
test eax, eax
je 0x1007c725
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007c717
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c725
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007c717
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c725
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007c717
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c725
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007c725
test esi, esi
mov eax, 1
jg 0x1007c727
or eax, 0xffffffff
jmp 0x1007c727
xor eax, eax
test eax, eax
jne 0x1007c7e2
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 0x1007c694
jmp 0x1007c7e2
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007c7e2
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov bh, bh
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1007c7c2
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.100527c0
add esp, 0x14
test eax, eax
je 0x1007c7b9
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1007c782
jmp 0x1007c7c2
cmp esi, dword [esp + 0x94]
jl 0x1007c7e2
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 0x1007c771
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1007c947
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 ebp, ebp
mov al, al
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
mov cl, cl
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x13c]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.1010fdb0
add esp, 0x14
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1007c8e7
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
mov esi, esi
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c8f1
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a090
mov esi, esi
push ebx
pop ebx
push edx
pop edx
test edi, edi
jle 0x1007c947
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1007c940
mov eax, edx
mov ecx, edi
nop
mov dword [eax], 0xff000000
mov dh, dh
add eax, 4
sub ecx, 1
jne 0x1007c930
add edx, ebx
sub esi, 1
jne 0x1007c927
sub dword [esp + 0x3c], 1
jns 0x1007c1c0
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 0x1007c130
jmp 0x1007d1cd
cmp eax, 3
jne 0x1007d1cd
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1007d1cd
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1007d1c2
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xbc]
imul ecx, eax
imul edx, eax
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xd4]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc4]
imul ecx, eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xcc]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xb8]
imul edx, eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xc0]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc8]
imul ecx, eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd0]
lea eax, [ecx + edx*4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x3c]
lea ecx, [ecx + edx*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
push ecx
pop ecx
mov al, al
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
push edx
pop edx
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 ebx
pop ebx
test eax, 0xff000000
jne 0x1007d1b7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dh, dh
movzx ebp, ah
mov cl, cl
and eax, 0xff
mov dword [esp + 0x14], eax
mov ch, ch
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov cl, cl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov edi, eax
and edi, 0xff
mov esi, esi
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov ah, ah
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 dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov bl, bl
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007cb32
mov dword [esp + 0x1c], ecx
mov bl, bl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1007cb49
mov ecx, ebp
mov edx, edx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1007cb63
mov ebp, eax
push ecx
pop ecx
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1007d1b7
cmp eax, dword [esp + 0x1c]
jg 0x1007d1b7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007d1b7
cmp eax, ecx
jg 0x1007d1b7
cmp edi, esi
jl 0x1007d1b7
cmp edi, ebp
jg 0x1007d1b7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx ebp, dh
mov cl, cl
and edx, 0xff
mov ch, ch
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov cl, cl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov edi, ecx
and edi, 0xff
mov esi, esi
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
mov ah, ah
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 dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov bl, bl
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007cc41
mov eax, 0xff
mov bl, bl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1007cc56
mov ebp, 0xff
mov edx, edx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1007cc6b
mov edx, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1007d1b7
cmp esi, eax
jg 0x1007d1b7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007d1b7
cmp eax, ebp
jg 0x1007d1b7
cmp edi, ecx
jl 0x1007d1b7
cmp edi, edx
jg 0x1007d1b7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, bh
mov cl, cl
and ebx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov cl, cl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
push ecx
pop ecx
mov esi, ecx
and esi, 0xff
mov esi, esi
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
mov ah, ah
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 dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov bl, bl
add eax, ebp
cmp eax, 0xff
jle 0x1007cd45
mov eax, 0xff
mov bl, bl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1007cd5a
mov edi, 0xff
mov edx, edx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007cd6f
mov ebx, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1007d1b7
cmp edx, eax
jg 0x1007d1b7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1007d1b7
cmp eax, edi
jg 0x1007d1b7
cmp esi, ecx
jl 0x1007d1b7
cmp esi, ebx
jg 0x1007d1b7
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
mov dh, dh
mov ebx, ebx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov dh, dh
movzx edi, ch
mov cl, cl
and ecx, 0xff
mov ch, ch
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov cl, cl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
push ecx
pop ecx
mov esi, edx
and esi, 0xff
mov esi, esi
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov ah, ah
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 dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov bl, bl
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007ce50
mov dword [esp + 0x14], eax
mov bl, bl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1007ce65
mov edi, 0xff
mov edx, edx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1007ce7a
mov ecx, 0xff
push ecx
pop ecx
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1007d1b7
cmp ebx, dword [esp + 0x14]
jg 0x1007d1b7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1007d1b7
cmp ebx, edi
jg 0x1007d1b7
cmp esi, edx
jl 0x1007d1b7
cmp esi, ecx
jg 0x1007d1b7
mov bl, bl
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007cfc4
cmp dword [esp + 0x6c], ecx
jne 0x1007cfc4
cmp ebp, ecx
jne 0x1007cfc4
cmp dword [esp + 0x18], ecx
jne 0x1007cfc4
cmp eax, ecx
jne 0x1007cfc4
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007d052
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov bh, bh
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1007cf34
jmp 0x1007cf20
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1007cf38
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007cf20
test eax, eax
je 0x1007cf95
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007cf87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007cf95
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007cf87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007cf95
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007cf87
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007cf95
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007cf95
test esi, esi
mov eax, 1
jg 0x1007cf97
or eax, 0xffffffff
jmp 0x1007cf97
xor eax, eax
test eax, eax
jne 0x1007d052
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 0x1007cf05
jmp 0x1007d052
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007d052
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov dl, dl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1007d032
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.100527c0
add esp, 0x14
test eax, eax
je 0x1007d029
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1007cff2
jmp 0x1007d032
cmp esi, dword [esp + 0x94]
jl 0x1007d052
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 0x1007cfe1
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1007d1b7
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 dh, dh
mov eax, eax
mov edi, edi
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 bh, bh
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.1010fdb0
add esp, 0x14
mov bl, bl
mov esi, dword [esp + 0xe4]
cmp dword [esi + 0x14], 0
jbe 0x1007d157
push 1
push 0x10179578
mov ecx, esi
call fcn.1000a090
push eax
pop eax
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007d161
sub eax, edx
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, esi
call fcn.1000a090
mov edi, edi
mov dh, dh
push ebx
pop ebx
test edi, edi
jle 0x1007d1b7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1007d1b0
mov eax, edx
mov ecx, edi
nop
mov dword [eax], 0xff000000
mov ah, ah
add eax, 4
sub ecx, 1
jne 0x1007d1a0
add edx, ebx
sub esi, 1
jne 0x1007d197
sub dword [esp + 0x3c], 1
jns 0x1007ca30
sub dword [esp + 0x40], 1
jns 0x1007c9a0
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x1007d1e7
mov ecx, dword [esp + 0xec]
cmp dword [ecx + 0x32f4], 0
jne 0x1007d1f9
mov edx, dword [esp + 0xe8]
push edx
call fcn.1010dffc
add esp, 4
mov ch, ch
cmp dword [esi + 0x18], 0
je 0x1007d22a
mov eax, dword [esp + 0x38]
push eax
call fcn.1010dffc
add esp, 4
mov dl, dl
jmp 0x1007d22a
cmp dword [esi + 0x10], 0
jne 0x1007d21f
cmp dword [ebx + 0x32f4], 0
jne 0x1007d22a
push eax
call fcn.1010dffc
add esp, 4
mov ebp, ebp
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x1007ab01
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1010e4d7
add esp, 0x148
ret
jmp fcn.100fcfa6