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

Disassembly:
sub esp, 0x1fc
mov eax, dword [0x101ce00c]
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 eax, eax
mov ecx, dword [esi]
mov dword [esp + 0x88], ecx
push ecx
pop ecx
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
test esi, esi
mov ecx, dword [esi + 0x58]
mov dword [esp + 0xe8], ecx
mov esi, esi
mov edx, edx
fld qword [esi + 0x160]
fstp qword [esp + 0xf0]
mov eax, eax
mov edx, dword [esi + 0x48]
mov dword [esp + 0xe0], edx
push eax
pop eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xe4], eax
mov ebx, ebx
test eax, 0x32d1
mov dl, dl
mov ebx, ebx
mov ecx, dword [esi + 0x168]
push 0x10181900
push 0x10181900
call fcn.100070b0
mov ebp, ebp
test eax, 0x6e53
mov eax, eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
mov dword [esp + 0xdc], eax
jg 0x1007e0d3
push ebx
push ebp
push edi
mov edi, eax
lea ecx, [ecx]
test eax, 0x770
mov dword [esp + 0x30], 0
mov edx, edx
push edx
pop edx
test ebx, ebx
cmp dword [esi + 0x16c], 0
jne 0x1007e0d0
mov ebp, dword [esp + 0x94]
lea ebx, [ebp + 0x325c]
push 0x3e8
push ebx
call fcn.10058cb0
add esp, 8
mov ecx, ecx
test edi, edi
jl 0x1007e233
mov eax, dword [esp + 0xf8]
cmp edi, dword [eax + 8]
jge 0x1007e233
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.1007ae60
add esp, 0x1c
test eax, eax
push ebx
jne 0x1007bc81
call fcn.10058d40
add esp, 4
push edx
pop edx
jmp 0x1007dfa5
call fcn.10058d40
add esp, 4
mov bh, bh
mov eax, dword [esp + 0x30]
mov dword [esp + 0x90], eax
mov ch, ch
mov ebx, dword [esp + 0xb0]
cmp ebx, dword [esi + 0x20]
jg 0x1007df8c
mov edi, dword [esp + 0xb4]
cmp edi, dword [esi + 0x24]
jg 0x1007df8c
cmp dword [esi + 0x18], 0
jne 0x1007bcfb
test edi, edi
jle 0x1007bdc9
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x40]
add edx, 3
test ebx, ebx
jle 0x1007bcef
mov eax, edx
mov ecx, ebx
lea esp, [esp]
push ecx
pop ecx
mov byte [eax], 0
push ebx
pop ebx
add eax, 4
sub ecx, 1
jne 0x1007bce0
add edx, edi
sub esi, 1
jne 0x1007bcd1
jmp 0x1007bdc9
mov eax, edi
imul eax, dword [esp + 0x40]
push eax
call fcn.10117b2c
add esp, 4
mov dword [esp + 0x30], eax
test dh, dh
test eax, eax
jne 0x1007bd3d
cmp dword [esi + 0x10], eax
jne 0x1007bd26
cmp dword [ebp + 0x32f4], eax
jne 0x1007dfa5
mov ecx, dword [esp + 0x90]
push ecx
call fcn.10117bef
add esp, 4
push ecx
pop ecx
jmp 0x1007dfa5
test edi, edi
jle 0x1007bdc9
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
test ebx, ebx
jle 0x1007bdb6
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov ebp, ebx
mov edi, edi
mov bh, bh
movzx eax, byte [ecx + 1]
test dh, dh
movzx edx, byte [ecx]
test ebx, ebx
movzx edi, byte [ecx - 1]
mov bh, bh
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov edx, edx
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov edx, edx
add ecx, 4
add esi, 4
sub ebp, 1
jne 0x1007bd74
mov eax, dword [esp + 0x40]
add dword [esp + 0x74], eax
add dword [esp + 0x70], eax
sub dword [esp + 0x14], 1
jne 0x1007bd66
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x20]
fmul qword [0x10181b48]
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]
test al, al
mov al, al
mov cl, cl
mov ah, ah
xor ebp, ebp
mov dword [esp + 0x10], ebp
test bl, bl
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x3c]
add eax, 0x5c
push 0x10181b18
push eax
call fcn.1011a25d
add esp, 0xc
test esi, esi
movzx esi, byte [esp + 0x12]
add esi, edi
mov esi, esi
movzx eax, byte [esp + 0x11]
add eax, edi
mov dword [esp + 0x24], eax
test eax, 0x7d17
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, edi
mov dword [esp + 0x20], eax
mov ch, ch
push edx
pop edx
test ah, ah
mov esi, esi
mov ecx, ecx
test ecx, ecx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa8], ebp
test bh, bh
lea eax, [ebx - 1]
mov dword [esp + 0xa4], eax
mov al, al
mov dword [esp + 0x98], ebp
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xd8], ebp
mov ecx, ecx
mov edx, dword [esp + 0xb4]
lea ebp, [edx - 1]
mov dword [esp + 0x5c], ebp
mov bh, bh
mov dword [esp + 0xa0], eax
mov esi, esi
mov dword [esp + 0x9c], ebp
test edx, edx
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov dword [esp + 0x68], edi
mov bh, bh
mov ecx, dword [eax + ebx*4 - 4]
mov dword [esp + 0x64], ecx
test eax, 0x3559
lea eax, [edx - 1]
imul eax, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov edx, dword [eax + edx]
mov dword [esp + 0x58], edx
test dh, dh
mov edx, dword [esp + 0x30]
lea eax, [eax + ebx*4]
mov eax, dword [eax + edx - 4]
mov dword [esp + 0x60], eax
mov bl, bl
mov dword [esp + 0x6c], 0
mov ecx, ecx
mov edx, edi
mov dword [esp + 0x74], edx
test edx, edx
cmp edi, ecx
jne 0x1007c0db
mov edi, dword [esp + 0x58]
cmp ecx, edi
jne 0x1007c0db
cmp edi, eax
jne 0x1007c0db
mov dword [esp + 0x6c], 1
xchg ebx, eax
xchg ebx, eax
xor ecx, ecx
cmp dword [esp + 0xb4], ecx
jle 0x1007bf8e
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
mov edi, edi
xor eax, eax
test ebx, ebx
jle 0x1007bf76
test dl, dl
cmp dword [edi], edx
jne 0x1007bf58
add eax, 1
add edi, 4
cmp eax, ebx
jl 0x1007bf46
jmp 0x1007bf76
mov edi, dword [edi]
mov dword [esp + 0x68], edi
test ah, ah
mov dword [esp + 0xa8], eax
test edi, edi
mov dword [esp + 0xd4], ecx
mov edi, edi
cmp eax, ebx
jl 0x1007bf8e
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x40]
add ecx, 1
cmp ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], edi
jl 0x1007bf40
xor edi, edi
cmp dword [esp + 0xb4], edi
jle 0x1007bff8
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop
lea eax, [ebx - 1]
test eax, eax
jl 0x1007bfe0
lea ecx, [ecx + eax*4]
add ecx, dword [esp + 0x30]
mov edi, edi
test ah, ah
cmp dword [ecx], edx
jne 0x1007bfc2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1007bfb0
jmp 0x1007bfe0
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
test eax, eax
mov dword [esp + 0xa4], eax
test bl, bl
mov dword [esp + 0x98], edi
mov ch, ch
test eax, eax
jge 0x1007bff8
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x40]
add edi, 1
cmp edi, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
jl 0x1007bfa0
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x1007c068
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
nop
xor eax, eax
test ebx, ebx
jle 0x1007c055
test ecx, ecx
cmp dword [ecx], edx
jne 0x1007c038
add eax, 1
add ecx, 4
cmp eax, ebx
jl 0x1007c026
jmp 0x1007c051
mov ecx, dword [ecx]
mov dword [esp + 0x58], ecx
test edx, edx
mov dword [esp + 0xd8], eax
mov dh, dh
mov ebp, edi
mov bl, bl
cmp eax, ebx
jl 0x1007c064
mov ecx, dword [esp + 0x5c]
add ecx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
mov dword [esp + 0x5c], ecx
jge 0x1007c020
mov dword [esp + 0x5c], ebp
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x1007c0db
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
lea esp, [esp]
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x1007c0d0
lea ecx, [ebx + eax*4]
add ecx, dword [esp + 0x30]
nop
test dl, dl
cmp dword [ecx], edx
jne 0x1007c0b2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1007c0a0
jmp 0x1007c0d0
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
test bh, bh
mov dword [esp + 0xa0], eax
mov ah, ah
mov dword [esp + 0x9c], edi
mov ah, ah
test eax, eax
jge 0x1007c0db
add ebx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
jge 0x1007c090
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x1007c88e
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x24]
xor edi, edi
sub eax, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007df49
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x20]
xor ecx, ecx
sub eax, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1007c86c
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 0x1007c1b7
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
push ecx
pop ecx
test bl, bl
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
test al, al
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
test ch, ch
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
test esi, esi
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0xdc], ecx
push ecx
pop ecx
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
mov dword [esp + 0x14], ebp
test ch, ch
and eax, 0xff
mov dword [esp + 0x1c], eax
mov dh, dh
test eax, 0x1806
mov al, al
test eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x34], eax
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x1c]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test bl, bl
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007c28c
mov dword [esp + 0x18], ecx
test ecx, ecx
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c2ac
mov dword [esp + 0x14], ecx
test bh, bh
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007c2cc
mov dword [esp + 0x1c], ecx
mov edx, edx
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x34]
jl 0x1007c843
cmp ecx, dword [esp + 0x18]
jg 0x1007c843
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x4c]
jl 0x1007c843
cmp ecx, dword [esp + 0x14]
jg 0x1007c843
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jl 0x1007c843
cmp ecx, dword [esp + 0x1c]
jg 0x1007c843
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ecx, dh
mov dword [esp + 0x18], ecx
test ch, ch
and edx, 0xff
mov dword [esp + 0x14], edx
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x4c], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x54], ecx
mov al, al
and edx, 0xff
test eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007c3c6
mov dword [esp + 0x1c], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007c3e6
mov dword [esp + 0x18], ecx
test bh, bh
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c406
mov dword [esp + 0x14], ecx
mov edx, edx
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x1007c843
cmp eax, dword [esp + 0x1c]
jg 0x1007c843
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x28]
jl 0x1007c843
cmp eax, dword [esp + 0x18]
jg 0x1007c843
cmp edx, ebp
jl 0x1007c843
cmp edx, dword [esp + 0x14]
jg 0x1007c843
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edx, bh
test ch, ch
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov dh, dh
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x4c], ebx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x54], ebx
test eax, 0x12ac
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test eax, eax
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test bl, bl
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007c4f3
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007c507
mov dword [esp + 0x1c], edx
test bh, bh
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007c522
mov edx, ecx
mov edx, edx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x54]
jl 0x1007c843
cmp ecx, dword [esp + 0x14]
jg 0x1007c843
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x1007c843
cmp eax, dword [esp + 0x1c]
jg 0x1007c843
cmp ebp, ebx
jl 0x1007c843
cmp ebp, edx
jg 0x1007c843
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0xdc]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebx, ch
test ch, ch
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov dh, dh
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0xdc], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x54], edx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x28], ecx
test eax, 0x12ac
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x4c], ecx
test eax, eax
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
jle 0x1007c612
mov eax, 0xff
test ecx, ecx
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c62e
mov dword [esp + 0x14], ebx
test bh, bh
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007c649
mov ebx, ecx
mov edx, edx
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007c843
cmp ecx, eax
jg 0x1007c843
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x4c]
jl 0x1007c843
cmp ecx, dword [esp + 0x14]
jg 0x1007c843
cmp ebp, edx
jl 0x1007c843
cmp ebp, ebx
jg 0x1007c843
push ecx
pop ecx
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x1007c7a0
cmp dword [esp + 0x6c], eax
jne 0x1007c7a0
cmp esi, eax
jne 0x1007c7a0
cmp dword [esp + 0x24], eax
jne 0x1007c7a0
cmp dword [esp + 0x20], eax
jne 0x1007c7a0
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007c832
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
jmp 0x1007c6e0
mov edi, edi
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007c708
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007c70c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007c6f4
test eax, eax
je 0x1007c769
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007c75b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c769
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007c75b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c769
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007c75b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c769
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x1007c769
test ebx, ebx
mov eax, 1
jg 0x1007c76b
or eax, 0xffffffff
jmp 0x1007c76b
xor eax, eax
test eax, eax
jne 0x1007c832
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 0x1007c6e0
jmp 0x1007c832
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007c832
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov bh, bh
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1007c812
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.100634f0
add esp, 0x14
test eax, eax
je 0x1007c809
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007c7d1
jmp 0x1007c812
cmp ebx, dword [esp + 0xb0]
jl 0x1007c832
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 0x1007c7c0
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0xb4]
je 0x1007dfc8
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 0x1007c1b0
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 0x1007c104
jmp 0x1007df49
cmp eax, 1
jne 0x1007d02d
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007df49
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 0x1007d01b
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 0x1007c967
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
test bh, bh
test ebx, ebx
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
test eax, eax
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
test dh, dh
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
test al, al
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
test edx, edx
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
mov dword [esp + 0x18], ebp
test ch, ch
and eax, 0xff
mov dword [esp + 0x14], eax
mov dh, dh
test eax, 0x1806
mov al, al
test eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test bl, bl
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007ca3c
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007ca5c
mov dword [esp + 0x18], ecx
test bh, bh
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007ca7c
mov dword [esp + 0x14], ecx
mov edx, edx
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007cff2
cmp ecx, dword [esp + 0x1c]
jg 0x1007cff2
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1007cff2
cmp ecx, dword [esp + 0x18]
jg 0x1007cff2
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1007cff2
cmp ecx, dword [esp + 0x14]
jg 0x1007cff2
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ecx, dh
mov dword [esp + 0x18], ecx
test ch, ch
and edx, 0xff
mov dword [esp + 0x14], edx
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
mov al, al
and edx, 0xff
test eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007cb76
mov dword [esp + 0x1c], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007cb96
mov dword [esp + 0x18], ecx
test bh, bh
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007cbb6
mov dword [esp + 0x14], ecx
mov edx, edx
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1007cff2
cmp eax, dword [esp + 0x1c]
jg 0x1007cff2
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007cff2
cmp eax, dword [esp + 0x18]
jg 0x1007cff2
cmp edx, ebp
jl 0x1007cff2
cmp edx, dword [esp + 0x14]
jg 0x1007cff2
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edx, bh
test ch, ch
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov dh, dh
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test eax, 0x12ac
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test eax, eax
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test bl, bl
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007cca3
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007ccb7
mov dword [esp + 0x1c], edx
test bh, bh
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007ccd2
mov edx, ecx
mov edx, edx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007cff2
cmp ecx, dword [esp + 0x14]
jg 0x1007cff2
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007cff2
cmp eax, dword [esp + 0x1c]
jg 0x1007cff2
cmp ebp, ebx
jl 0x1007cff2
cmp ebp, edx
jg 0x1007cff2
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebx, ch
test ch, ch
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov dh, dh
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test eax, 0x12ac
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
test eax, eax
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
jle 0x1007cdbf
mov eax, 0xff
test ecx, ecx
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007cddb
mov dword [esp + 0x14], ebx
test bh, bh
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007cdf6
mov ebx, ecx
mov edx, edx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007cff2
cmp ecx, eax
jg 0x1007cff2
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1007cff2
cmp ecx, dword [esp + 0x14]
jg 0x1007cff2
cmp ebp, edx
jl 0x1007cff2
cmp ebp, ebx
jg 0x1007cff2
push edx
pop edx
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x1007cf4c
cmp dword [esp + 0x6c], ecx
jne 0x1007cf4c
cmp esi, ecx
jne 0x1007cf4c
cmp dword [esp + 0x24], ecx
jne 0x1007cf4c
cmp dword [esp + 0x20], ecx
jne 0x1007cf4c
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007cfe1
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
mov dl, dl
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007ceb4
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007ceb8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007cea0
test eax, eax
je 0x1007cf15
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007cf07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007cf15
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007cf07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007cf15
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007cf07
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007cf15
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x1007cf15
test ebx, ebx
mov eax, 1
jg 0x1007cf17
or eax, 0xffffffff
jmp 0x1007cf17
xor eax, eax
test eax, eax
jne 0x1007cfe1
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 0x1007ce85
jmp 0x1007cfe1
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007cfe1
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
push ecx
pop ecx
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1007cfc1
mov edi, dword [esp + 0x14]
jmp 0x1007cf80
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.100634f0
add esp, 0x14
test eax, eax
je 0x1007cfb8
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007cf80
jmp 0x1007cfc1
cmp ebx, dword [esp + 0xb0]
jl 0x1007cfe1
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 0x1007cf65
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x1007e0e9
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 0x1007c960
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x1007c8b0
jmp 0x1007df49
cmp eax, 2
jne 0x1007d7bf
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x24]
xor edi, edi
sub edx, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007df49
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1007d79d
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 0x1007d107
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov cl, cl
push edx
pop edx
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
test esi, esi
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
test edi, edi
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov bl, bl
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov bh, bh
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
mov dword [esp + 0x18], ebp
test ch, ch
and eax, 0xff
mov dword [esp + 0x14], eax
mov dh, dh
test eax, 0x1806
mov al, al
test eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test bl, bl
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007d1dc
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007d1fc
mov dword [esp + 0x18], ecx
test bh, bh
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007d21c
mov dword [esp + 0x14], ecx
mov edx, edx
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007d784
cmp ecx, dword [esp + 0x1c]
jg 0x1007d784
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1007d784
cmp ecx, dword [esp + 0x18]
jg 0x1007d784
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1007d784
cmp ecx, dword [esp + 0x14]
jg 0x1007d784
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ecx, dh
mov dword [esp + 0x18], ecx
test ch, ch
and edx, 0xff
mov dword [esp + 0x14], edx
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
mov al, al
and edx, 0xff
test eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007d316
mov dword [esp + 0x1c], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007d336
mov dword [esp + 0x18], ecx
test bh, bh
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007d356
mov dword [esp + 0x14], ecx
mov edx, edx
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1007d784
cmp eax, dword [esp + 0x1c]
jg 0x1007d784
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007d784
cmp eax, dword [esp + 0x18]
jg 0x1007d784
cmp edx, ebp
jl 0x1007d784
cmp edx, dword [esp + 0x14]
jg 0x1007d784
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edx, bh
test ch, ch
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov dh, dh
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test eax, 0x12ac
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test eax, eax
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test bl, bl
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007d443
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007d457
mov dword [esp + 0x1c], edx
test bh, bh
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007d472
mov edx, ecx
mov edx, edx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007d784
cmp ecx, dword [esp + 0x14]
jg 0x1007d784
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007d784
cmp eax, dword [esp + 0x1c]
jg 0x1007d784
cmp ebp, ebx
jl 0x1007d784
cmp ebp, edx
jg 0x1007d784
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebx, ch
test ch, ch
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov dh, dh
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test eax, 0x12ac
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
test eax, eax
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
jle 0x1007d55f
mov eax, 0xff
test ecx, ecx
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007d57b
mov dword [esp + 0x14], ebx
test bh, bh
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007d596
mov ebx, ecx
mov edx, edx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007d784
cmp ecx, eax
jg 0x1007d784
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1007d784
cmp ecx, dword [esp + 0x14]
jg 0x1007d784
cmp ebp, edx
jl 0x1007d784
cmp ebp, ebx
jg 0x1007d784
test edi, edi
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x1007d6ec
cmp dword [esp + 0x6c], ecx
jne 0x1007d6ec
cmp esi, ecx
jne 0x1007d6ec
cmp dword [esp + 0x24], ecx
jne 0x1007d6ec
cmp dword [esp + 0x20], ecx
jne 0x1007d6ec
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007d773
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
test ecx, ecx
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007d654
lea esp, [esp]
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007d658
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007d640
test eax, eax
je 0x1007d6b5
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007d6a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007d6b5
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007d6a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007d6b5
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007d6a7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007d6b5
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x1007d6b5
test ebx, ebx
mov eax, 1
jg 0x1007d6b7
or eax, 0xffffffff
jmp 0x1007d6b7
xor eax, eax
test eax, eax
jne 0x1007d773
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 0x1007d625
jmp 0x1007d773
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007d773
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
test edx, edx
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1007d753
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.100634f0
add esp, 0x14
test eax, eax
je 0x1007d74a
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007d712
jmp 0x1007d753
cmp ebx, dword [esp + 0xb0]
jl 0x1007d773
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 0x1007d701
mov edx, dword [esp + 0xb4]
cmp dword [esp + 0x1c], edx
je 0x1007e158
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x1007d100
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 0x1007d050
jmp 0x1007df49
cmp eax, 3
jne 0x1007df49
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007df49
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1007df3c
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 0x1007d897
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
test esi, esi
mov cl, cl
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
test al, al
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
test eax, 0x4e9b
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov edx, edx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov edi, edi
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov bh, bh
movzx ebp, ah
mov dword [esp + 0x18], ebp
test ch, ch
and eax, 0xff
mov dword [esp + 0x14], eax
mov dh, dh
test eax, 0x1806
mov al, al
test eax, eax
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
test bl, bl
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007d96f
mov dword [esp + 0x1c], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007d98f
mov dword [esp + 0x18], ecx
test bh, bh
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007d9af
mov dword [esp + 0x14], ecx
mov edx, edx
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007df23
cmp ecx, dword [esp + 0x1c]
jg 0x1007df23
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1007df23
cmp ecx, dword [esp + 0x18]
jg 0x1007df23
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1007df23
cmp ecx, dword [esp + 0x14]
jg 0x1007df23
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ecx, dh
mov dword [esp + 0x18], ecx
test ch, ch
and edx, 0xff
mov dword [esp + 0x14], edx
mov dh, dh
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
test eax, 0x1806
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
mov al, al
and edx, 0xff
test eax, eax
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test eax, 0x12ac
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
test eax, eax
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007daa9
mov dword [esp + 0x1c], eax
test ecx, ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007dac9
mov dword [esp + 0x18], ecx
test bh, bh
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007dae9
mov dword [esp + 0x14], ecx
mov edx, edx
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1007df23
cmp eax, dword [esp + 0x1c]
jg 0x1007df23
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007df23
cmp eax, dword [esp + 0x18]
jg 0x1007df23
cmp edx, ebp
jl 0x1007df23
cmp edx, dword [esp + 0x14]
jg 0x1007df23
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx edx, bh
test ch, ch
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov dh, dh
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test eax, 0x12ac
mov ecx, edx
sub ecx, dword [esp + 0x24]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x34], ebx
test eax, eax
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
test bl, bl
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007dbd6
mov dword [esp + 0x14], eax
test ecx, ecx
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007dbea
mov dword [esp + 0x1c], edx
test bh, bh
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007dc05
mov edx, ecx
mov edx, edx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007df23
cmp ecx, dword [esp + 0x14]
jg 0x1007df23
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007df23
cmp eax, dword [esp + 0x1c]
jg 0x1007df23
cmp ebp, ebx
jl 0x1007df23
cmp ebp, edx
jg 0x1007df23
mov ebp, ebp
mov ebp, ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
test ecx, ecx
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov bh, bh
movzx ebx, ch
test ch, ch
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov dh, dh
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
test eax, 0x1806
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
mov al, al
mov ebp, ecx
and ebp, 0xff
test eax, eax
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test eax, 0x12ac
mov edx, ebx
sub edx, dword [esp + 0x24]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x34], ecx
test eax, eax
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
test bl, bl
add eax, esi
cmp eax, 0xff
jle 0x1007dcf2
mov eax, 0xff
test ecx, ecx
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007dd0e
mov dword [esp + 0x14], ebx
test bh, bh
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007dd29
mov ebx, ecx
mov edx, edx
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007df23
cmp ecx, eax
jg 0x1007df23
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1007df23
cmp ecx, dword [esp + 0x14]
jg 0x1007df23
cmp ebp, edx
jl 0x1007df23
cmp ebp, ebx
jg 0x1007df23
push edx
pop edx
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x1007de80
cmp dword [esp + 0x6c], eax
jne 0x1007de80
cmp esi, eax
jne 0x1007de80
cmp dword [esp + 0x24], eax
jne 0x1007de80
cmp dword [esp + 0x20], eax
jne 0x1007de80
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007df12
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
jmp 0x1007ddc0
test eax, eax
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007dde8
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007ddec
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007ddd4
test eax, eax
je 0x1007de49
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007de3b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007de49
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007de3b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007de49
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007de3b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007de49
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x1007de49
test ebx, ebx
mov eax, 1
jg 0x1007de4b
or eax, 0xffffffff
jmp 0x1007de4b
xor eax, eax
test eax, eax
jne 0x1007df12
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 0x1007ddc0
jmp 0x1007df12
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007df12
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov dl, dl
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1007def2
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.100634f0
add esp, 0x14
test eax, eax
je 0x1007dee9
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007deb1
jmp 0x1007def2
cmp ebx, dword [esp + 0xb0]
jl 0x1007df12
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 0x1007dea0
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x1007e1c7
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x1007d890
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x1007d7e0
mov esi, dword [esp + 0x38]
cmp dword [esi + 0x10], 0
jne 0x1007df63
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32f4], 0
jne 0x1007df75
mov edx, dword [esp + 0x90]
push edx
call fcn.10117bef
add esp, 4
mov bh, bh
cmp dword [esi + 0x18], 0
je 0x1007dfa5
mov eax, dword [esp + 0x30]
push eax
call fcn.10117bef
add esp, 4
test eax, eax
jmp 0x1007dfa5
cmp dword [esi + 0x10], 0
jne 0x1007df9b
cmp dword [ebp + 0x32f4], 0
jne 0x1007dfa5
push eax
call fcn.10117bef
add esp, 4
nop
mov edi, dword [esp + 0xe8]
mov esi, dword [esp + 0x38]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0xe8], edi
jle 0x1007bbf0
jmp 0x1007e0d0
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
nop
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
push eax
pop eax
test cl, cl
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007e003
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32f4], 0
jne 0x1007e018
mov eax, dword [esp + 0x90]
push eax
call fcn.10117bef
add esp, 4
test eax, 0x1df8
cmp dword [ebx + 0x18], 0
je 0x1007e02d
mov ecx, dword [esp + 0x30]
push ecx
call fcn.10117bef
add esp, 4
mov esi, esi
test edi, edi
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
test eax, 0x5ce7
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.10119287
add esp, 0x14
test dh, dh
lea eax, [esp + 0x108]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007e0a8
mov ecx, dword [ebx + 0x168]
sub eax, edx
lea edx, [esp + eax + 0x108]
push edx
lea eax, [esp + 0x10c]
push eax
call fcn.100070b0
mov ebx, ebx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1fc]
pop esi
xor ecx, esp
call fcn.101180ca
add esp, 0x1fc
ret
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xec]
lea esi, [edx + eax]
test cl, cl
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xf0]
lea edi, [ecx + edx]
test eax, 0x609f
mov dl, dl
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007e128
mov eax, dword [esp + 0x94]
cmp dword [eax + 0x32f4], 0
jne 0x1007e13a
mov ecx, dword [esp + 0x90]
push ecx
call fcn.10117bef
add esp, 4
xchg ebx, eax
xchg ebx, eax
cmp dword [ebx + 0x18], 0
je 0x1007e02d
mov edx, dword [esp + 0x30]
push edx
call fcn.10117bef
add esp, 4
push edx
pop edx
jmp 0x1007e02d
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xec]
lea esi, [eax + ecx]
test eax, 0x5ad5
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0xf0]
lea edi, [edx + eax]
test bh, bh
test ah, ah
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007e197
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32f4], 0
jne 0x1007e1a9
mov edx, dword [esp + 0x90]
push edx
call fcn.10117bef
add esp, 4
test dl, dl
cmp dword [ebx + 0x18], 0
je 0x1007e02d
mov eax, dword [esp + 0x30]
push eax
call fcn.10117bef
add esp, 4
mov edi, edi
jmp 0x1007e02d
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
mov edi, edi
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
mov ebx, ebx
test dh, dh
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007e203
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32f4], 0
jne 0x1007e215
mov eax, dword [esp + 0x90]
push eax
call fcn.10117bef
add esp, 4
push ebx
pop ebx
cmp dword [ebx + 0x18], 0
je 0x1007e02d
mov ecx, dword [esp + 0x30]
push ecx
call fcn.10117bef
add esp, 4
test ecx, ecx
jmp 0x1007e02d
jmp fcn.10106bf9