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

Disassembly:
sub esp, 0x1fc
mov eax, dword [0x101ce2ac]
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
test eax, 0x62d6
mov ecx, dword [esi]
mov dword [esp + 0x88], ecx
test eax, 0x654
nop
mov edx, dword [esi + 0x44]
mov dword [esp + 0x44], edx
test esi, esi
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd8], eax
test edi, edi
mov ecx, dword [esi + 0x58]
mov dword [esp + 0xe8], ecx
test edx, edx
test ebx, ebx
fld qword [esi + 0x160]
fstp qword [esp + 0xf0]
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esi + 0x48]
mov dword [esp + 0xe0], edx
mov al, al
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xe4], eax
mov ebx, ebx
mov ebx, ebx
test ah, ah
push ecx
pop ecx
mov ecx, dword [esi + 0x168]
push 0x10182970
push 0x10182970
call fcn.1000d090
test eax, eax
mov edi, edi
push eax
pop eax
mov eax, dword [esi + 8]
cmp eax, dword [esi + 0xc]
mov dword [esp + 0xdc], eax
jg 0x1007d48b
push ebx
push ebp
push edi
mov edi, eax
lea esp, [esp]
test ecx, ecx
mov dword [esp + 0x30], 0
test eax, 0x90
test eax, 0x5820
test eax, 0x23d0
cmp dword [esi + 0x16c], 0
jne 0x1007d488
mov ebp, dword [esp + 0x94]
lea ebx, [ebp + 0x325c]
push 0x3e8
push ebx
call fcn.10058180
add esp, 8
push eax
pop eax
test edi, edi
jl 0x1007d5ea
mov eax, dword [esp + 0xf8]
cmp edi, dword [eax + 8]
jge 0x1007d5ea
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.1007a260
add esp, 0x1c
test eax, eax
push ebx
jne 0x1007b087
call fcn.10058210
add esp, 4
test cl, cl
jmp 0x1007d356
call fcn.10058210
add esp, 4
mov bl, bl
mov eax, dword [esp + 0x30]
mov dword [esp + 0x90], eax
mov bl, bl
mov ebx, dword [esp + 0xb0]
cmp ebx, dword [esi + 0x20]
jge 0x1007d33c
mov edi, dword [esp + 0xb4]
cmp edi, dword [esi + 0x24]
jge 0x1007d33c
cmp dword [esi + 0x18], 0
jne 0x1007b0fe
test edi, edi
jle 0x1007b1db
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x40]
add edx, 3
test ebx, ebx
jle 0x1007b0f2
mov eax, edx
mov ecx, ebx
nop
test bl, bl
mov byte [eax], 0
test eax, 0x510
add eax, 4
sub ecx, 1
jne 0x1007b0e0
add edx, edi
sub esi, 1
jne 0x1007b0d7
jmp 0x1007b1db
mov eax, edi
imul eax, dword [esp + 0x40]
push eax
call fcn.1011671b
add esp, 4
mov dword [esp + 0x30], eax
test bh, bh
test eax, eax
jne 0x1007b140
cmp dword [esi + 0x10], eax
jne 0x1007b129
cmp dword [ebp + 0x32f4], eax
jne 0x1007d356
mov ecx, dword [esp + 0x90]
push ecx
call fcn.101167de
add esp, 4
mov ch, ch
jmp 0x1007d356
test edi, edi
jle 0x1007b1db
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0xb4]
add eax, 1
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], ecx
lea esp, [esp]
test ebx, ebx
jle 0x1007b1c8
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov ebp, ebx
mov edi, edi
test eax, 0x4fb3
test eax, 0x2108
movzx eax, byte [ecx + 1]
mov ebx, ebx
movzx edx, byte [ecx]
test dl, dl
movzx edi, byte [ecx - 1]
test cl, cl
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov bh, bh
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov ah, ah
add ecx, 4
add esi, 4
sub ebp, 1
jne 0x1007b180
mov eax, dword [esp + 0x40]
add dword [esp + 0x74], eax
add dword [esp + 0x70], eax
sub dword [esp + 0x14], 1
jne 0x1007b170
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x20]
fmul qword [0x101828c0]
movzx eax, word [esp + 0x20]
or eax, 0xc00
mov dword [esp + 0x18], eax
fldcw word [esp + 0x18]
fistp qword [esp + 0xdc]
mov edi, dword [esp + 0xdc]
mov dword [esp + 0x70], edi
fldcw word [esp + 0x20]
mov dl, dl
mov ah, ah
mov al, al
push ebx
pop ebx
xor ebp, ebp
mov dword [esp + 0x10], ebp
push ecx
pop ecx
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x3c]
add eax, 0x5c
push 0x10182850
push eax
call fcn.10119565
add esp, 0xc
mov esi, esi
movzx esi, byte [esp + 0x12]
add esi, edi
test eax, eax
movzx eax, byte [esp + 0x11]
add eax, edi
mov dword [esp + 0x24], eax
test al, al
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, edi
mov dword [esp + 0x20], eax
test dh, dh
mov bl, bl
test eax, 0x1592
test edi, edi
test edx, edx
test edx, edx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xa8], ebp
test ebx, ebx
lea eax, [ebx - 1]
mov dword [esp + 0xa4], eax
test ecx, ecx
mov dword [esp + 0x98], ebp
test eax, 0x5426
mov dword [esp + 0xd8], ebp
mov dh, dh
mov edx, dword [esp + 0xb4]
lea ebp, [edx - 1]
mov dword [esp + 0x5c], ebp
test ch, ch
mov dword [esp + 0xa0], eax
test ch, ch
mov dword [esp + 0x9c], ebp
test eax, eax
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov dword [esp + 0x68], edi
test dl, dl
mov ecx, dword [eax + ebx*4 - 4]
mov dword [esp + 0x64], ecx
test dh, dh
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 eax, 0xc5f
mov edx, dword [esp + 0x30]
lea eax, [eax + ebx*4]
mov eax, dword [eax + edx - 4]
mov dword [esp + 0x60], eax
mov ebp, ebp
mov dword [esp + 0x6c], 0
test eax, 0x721f
mov edx, edi
mov dword [esp + 0x74], edx
mov ecx, ecx
cmp edi, ecx
jne 0x1007b4fb
mov edi, dword [esp + 0x58]
cmp ecx, edi
jne 0x1007b4fb
cmp edi, eax
jne 0x1007b4fb
mov dword [esp + 0x6c], 1
mov al, al
xor ecx, ecx
cmp dword [esp + 0xb4], ecx
jle 0x1007b3ae
mov edi, dword [esp + 0x30]
mov dword [esp + 0x14], edi
xor eax, eax
test ebx, ebx
jle 0x1007b396
lea esp, [esp]
mov eax, eax
cmp dword [edi], edx
jne 0x1007b372
add eax, 1
add edi, 4
cmp eax, ebx
jl 0x1007b360
jmp 0x1007b396
mov edi, dword [edi]
mov dword [esp + 0x68], edi
test eax, 0x1985
mov dword [esp + 0xa8], eax
push ecx
pop ecx
mov dword [esp + 0xd4], ecx
test eax, 0x2f2f
cmp eax, ebx
jl 0x1007b3ae
mov edi, dword [esp + 0x14]
add edi, dword [esp + 0x40]
add ecx, 1
cmp ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], edi
jl 0x1007b356
xor edi, edi
cmp dword [esp + 0xb4], edi
jle 0x1007b41b
xor ecx, ecx
mov dword [esp + 0x14], ecx
nop
lea eax, [ebx - 1]
test eax, eax
jl 0x1007b403
lea ecx, [ecx + eax*4]
add ecx, dword [esp + 0x30]
mov edi, edi
push eax
pop eax
cmp dword [ecx], edx
jne 0x1007b3e2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1007b3d0
jmp 0x1007b403
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
test bl, bl
mov dword [esp + 0xa4], eax
test eax, 0x2bd8
mov dword [esp + 0x98], edi
mov ah, ah
test eax, eax
jge 0x1007b41b
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x40]
add edi, 1
cmp edi, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
jl 0x1007b3c0
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x1007b48a
mov eax, dword [esp + 0x40]
mov ecx, eax
neg ecx
mov dword [esp + 0x1c], ecx
mov ecx, edi
imul ecx, eax
add ecx, dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
xor eax, eax
test ebx, ebx
jle 0x1007b477
test cl, cl
cmp dword [ecx], edx
jne 0x1007b45a
add eax, 1
add ecx, 4
cmp eax, ebx
jl 0x1007b448
jmp 0x1007b473
mov ecx, dword [ecx]
mov dword [esp + 0x58], ecx
mov cl, cl
mov dword [esp + 0xd8], eax
push eax
pop eax
mov ebp, edi
mov eax, eax
cmp eax, ebx
jl 0x1007b486
mov ecx, dword [esp + 0x5c]
add ecx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
mov dword [esp + 0x5c], ecx
jge 0x1007b442
mov dword [esp + 0x5c], ebp
mov edi, dword [esp + 0xb4]
add edi, 0xffffffff
test edi, edi
jl 0x1007b4fb
mov eax, dword [esp + 0x40]
add ebx, 0xffffffff
mov dword [esp + 0x18], ebx
mov ebx, edi
imul ebx, eax
neg eax
mov dword [esp + 0x1c], eax
mov edi, edi
mov eax, dword [esp + 0x18]
test eax, eax
jl 0x1007b4f0
lea ecx, [ebx + eax*4]
add ecx, dword [esp + 0x30]
nop
test ah, ah
cmp dword [ecx], edx
jne 0x1007b4d2
sub eax, 1
sub ecx, 4
test eax, eax
jge 0x1007b4c0
jmp 0x1007b4f0
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
mov al, al
mov dword [esp + 0xa0], eax
test eax, eax
mov dword [esp + 0x9c], edi
test ah, ah
test eax, eax
jge 0x1007b4fb
add ebx, dword [esp + 0x1c]
sub edi, 1
test edi, edi
jge 0x1007b4b0
mov eax, dword [esp + 0xf4]
test eax, eax
jne 0x1007bc8e
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x24]
xor edi, edi
sub eax, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007d2f9
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x20]
xor ecx, ecx
sub eax, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1007bc6c
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 0x1007b5d7
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov esi, esi
mov ch, ch
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
mov ch, ch
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov ch, ch
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov ecx, ecx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0xdc], ecx
test ebx, ebx
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov esi, esi
movzx ebp, ah
mov dword [esp + 0x14], ebp
test bl, bl
and eax, 0xff
mov dword [esp + 0x1c], eax
mov ecx, ecx
test ecx, ecx
test edx, edx
mov cl, cl
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x34], eax
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x1c]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push edx
pop edx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007b6a6
mov dword [esp + 0x18], ecx
mov esi, esi
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007b6c6
mov dword [esp + 0x14], ecx
nop
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007b6e5
mov dword [esp + 0x1c], ecx
test bl, bl
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0x34]
jl 0x1007bc43
cmp ecx, dword [esp + 0x18]
jg 0x1007bc43
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x4c]
jl 0x1007bc43
cmp ecx, dword [esp + 0x14]
jg 0x1007bc43
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
jl 0x1007bc43
cmp ecx, dword [esp + 0x1c]
jg 0x1007bc43
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ecx, dh
mov dword [esp + 0x18], ecx
test bl, bl
and edx, 0xff
mov dword [esp + 0x14], edx
mov ecx, ecx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x4c], edx
test ecx, ecx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x54], ecx
test edx, edx
and edx, 0xff
mov cl, cl
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x34], ecx
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007b7d9
mov dword [esp + 0x1c], eax
mov esi, esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007b7f9
mov dword [esp + 0x18], ecx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007b818
mov dword [esp + 0x14], ecx
test bl, bl
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x1007bc43
cmp eax, dword [esp + 0x1c]
jg 0x1007bc43
mov eax, dword [esp + 0x54]
cmp eax, dword [esp + 0x28]
jl 0x1007bc43
cmp eax, dword [esp + 0x18]
jg 0x1007bc43
cmp edx, ebp
jl 0x1007bc43
cmp edx, dword [esp + 0x14]
jg 0x1007bc43
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx edx, bh
test bl, bl
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov ecx, ecx
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x4c], ebx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x54], ebx
test ah, ah
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 esi, esi
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push edx
pop edx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007b8ff
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007b913
mov dword [esp + 0x1c], edx
nop
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007b92d
mov edx, ecx
test bl, bl
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x54]
jl 0x1007bc43
cmp ecx, dword [esp + 0x14]
jg 0x1007bc43
mov eax, dword [esp + 0x4c]
cmp eax, dword [esp + 0x34]
jl 0x1007bc43
cmp eax, dword [esp + 0x1c]
jg 0x1007bc43
cmp ebp, ebx
jl 0x1007bc43
cmp ebp, edx
jg 0x1007bc43
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, dword [esp + 0xdc]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ebx, ch
test bl, bl
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov ecx, ecx
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0xdc], ecx
test ecx, ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x54], edx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x28], ecx
test ah, ah
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 esi, esi
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
jle 0x1007ba17
mov eax, 0xff
mov esi, esi
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007ba33
mov dword [esp + 0x14], ebx
nop
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007ba4d
mov ebx, ecx
test bl, bl
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007bc43
cmp ecx, eax
jg 0x1007bc43
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x4c]
jl 0x1007bc43
cmp ecx, dword [esp + 0x14]
jg 0x1007bc43
cmp ebp, edx
jl 0x1007bc43
cmp ebp, ebx
jg 0x1007bc43
mov esi, esi
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x1007bba0
cmp dword [esp + 0x6c], eax
jne 0x1007bba0
cmp esi, eax
jne 0x1007bba0
cmp dword [esp + 0x24], eax
jne 0x1007bba0
cmp dword [esp + 0x20], eax
jne 0x1007bba0
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007bc32
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
nop
test dh, dh
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007bb08
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007bb0c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007baf4
test eax, eax
je 0x1007bb69
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007bb5b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007bb69
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007bb5b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007bb69
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007bb5b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007bb69
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x1007bb69
test ebx, ebx
mov eax, 1
jg 0x1007bb6b
or eax, 0xffffffff
jmp 0x1007bb6b
xor eax, eax
test eax, eax
jne 0x1007bc32
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 0x1007bae0
jmp 0x1007bc32
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007bc32
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov dh, dh
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1007bc12
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.100628a0
add esp, 0x14
test eax, eax
je 0x1007bc09
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007bbd1
jmp 0x1007bc12
cmp ebx, dword [esp + 0xb0]
jl 0x1007bc32
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 0x1007bbc0
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0xb4]
je 0x1007d379
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 0x1007b5d0
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 0x1007b524
jmp 0x1007d2f9
cmp eax, 1
jne 0x1007c40d
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007d2f9
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 0x1007c3fb
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 0x1007bd67
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
test dh, dh
mov edx, edx
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
test eax, 0x2a67
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
test ch, ch
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
test eax, 0x6b90
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov esi, esi
movzx ebp, ah
mov dword [esp + 0x18], ebp
test bl, bl
and eax, 0xff
mov dword [esp + 0x14], eax
mov ecx, ecx
test ecx, ecx
test edx, edx
mov cl, cl
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push edx
pop edx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007be3c
mov dword [esp + 0x1c], ecx
mov esi, esi
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007be5c
mov dword [esp + 0x18], ecx
nop
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007be7b
mov dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007c3d2
cmp ecx, dword [esp + 0x1c]
jg 0x1007c3d2
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1007c3d2
cmp ecx, dword [esp + 0x18]
jg 0x1007c3d2
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1007c3d2
cmp ecx, dword [esp + 0x14]
jg 0x1007c3d2
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ecx, dh
mov dword [esp + 0x18], ecx
test bl, bl
and edx, 0xff
mov dword [esp + 0x14], edx
mov ecx, ecx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
test ecx, ecx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
test edx, edx
and edx, 0xff
mov cl, cl
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007bf6f
mov dword [esp + 0x1c], eax
mov esi, esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007bf8f
mov dword [esp + 0x18], ecx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007bfae
mov dword [esp + 0x14], ecx
test bl, bl
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1007c3d2
cmp eax, dword [esp + 0x1c]
jg 0x1007c3d2
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007c3d2
cmp eax, dword [esp + 0x18]
jg 0x1007c3d2
cmp edx, ebp
jl 0x1007c3d2
cmp edx, dword [esp + 0x14]
jg 0x1007c3d2
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx edx, bh
test bl, bl
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov ecx, ecx
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test ah, ah
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 esi, esi
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push edx
pop edx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007c095
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007c0a9
mov dword [esp + 0x1c], edx
nop
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007c0c3
mov edx, ecx
test bl, bl
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007c3d2
cmp ecx, dword [esp + 0x14]
jg 0x1007c3d2
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007c3d2
cmp eax, dword [esp + 0x1c]
jg 0x1007c3d2
cmp ebp, ebx
jl 0x1007c3d2
cmp ebp, edx
jg 0x1007c3d2
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ebx, ch
test bl, bl
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov ecx, ecx
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test ah, ah
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 esi, esi
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
jle 0x1007c1aa
mov eax, 0xff
mov esi, esi
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c1c6
mov dword [esp + 0x14], ebx
nop
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007c1e0
mov ebx, ecx
test bl, bl
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007c3d2
cmp ecx, eax
jg 0x1007c3d2
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1007c3d2
cmp ecx, dword [esp + 0x14]
jg 0x1007c3d2
cmp ebp, edx
jl 0x1007c3d2
cmp ebp, ebx
jg 0x1007c3d2
test eax, eax
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x1007c330
cmp dword [esp + 0x6c], ecx
jne 0x1007c330
cmp esi, ecx
jne 0x1007c330
cmp dword [esp + 0x24], ecx
jne 0x1007c330
cmp dword [esp + 0x20], ecx
jne 0x1007c330
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007c3c1
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
nop
mov ah, ah
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007c298
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007c29c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007c284
test eax, eax
je 0x1007c2f9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007c2eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c2f9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007c2eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c2f9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007c2eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007c2f9
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x1007c2f9
test ebx, ebx
mov eax, 1
jg 0x1007c2fb
or eax, 0xffffffff
jmp 0x1007c2fb
xor eax, eax
test eax, eax
jne 0x1007c3c1
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 0x1007c270
jmp 0x1007c3c1
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007c3c1
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
nop
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1007c3a1
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.100628a0
add esp, 0x14
test eax, eax
je 0x1007c398
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007c360
jmp 0x1007c3a1
cmp ebx, dword [esp + 0xb0]
jl 0x1007c3c1
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 0x1007c350
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x1007d4a1
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 0x1007bd60
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x1007bcb0
jmp 0x1007d2f9
cmp eax, 2
jne 0x1007cb8e
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x24]
xor edi, edi
sub edx, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007d2f9
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1007cb6c
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 0x1007c4e7
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov edx, edx
mov ecx, ecx
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
nop
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
push edx
pop edx
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
mov dl, dl
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
mov edx, edx
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov esi, esi
movzx ebp, ah
mov dword [esp + 0x18], ebp
test bl, bl
and eax, 0xff
mov dword [esp + 0x14], eax
mov ecx, ecx
test ecx, ecx
test edx, edx
mov cl, cl
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push edx
pop edx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007c5b5
mov dword [esp + 0x1c], ecx
mov esi, esi
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007c5d5
mov dword [esp + 0x18], ecx
nop
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c5f4
mov dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007cb53
cmp ecx, dword [esp + 0x1c]
jg 0x1007cb53
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1007cb53
cmp ecx, dword [esp + 0x18]
jg 0x1007cb53
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1007cb53
cmp ecx, dword [esp + 0x14]
jg 0x1007cb53
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ecx, dh
mov dword [esp + 0x18], ecx
test bl, bl
and edx, 0xff
mov dword [esp + 0x14], edx
mov ecx, ecx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
test ecx, ecx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
test edx, edx
and edx, 0xff
mov cl, cl
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007c6e8
mov dword [esp + 0x1c], eax
mov esi, esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007c708
mov dword [esp + 0x18], ecx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c727
mov dword [esp + 0x14], ecx
test bl, bl
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1007cb53
cmp eax, dword [esp + 0x1c]
jg 0x1007cb53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007cb53
cmp eax, dword [esp + 0x18]
jg 0x1007cb53
cmp edx, ebp
jl 0x1007cb53
cmp edx, dword [esp + 0x14]
jg 0x1007cb53
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx edx, bh
test bl, bl
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov ecx, ecx
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test ah, ah
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 esi, esi
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push edx
pop edx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007c80e
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007c822
mov dword [esp + 0x1c], edx
nop
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007c83c
mov edx, ecx
test bl, bl
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007cb53
cmp ecx, dword [esp + 0x14]
jg 0x1007cb53
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007cb53
cmp eax, dword [esp + 0x1c]
jg 0x1007cb53
cmp ebp, ebx
jl 0x1007cb53
cmp ebp, edx
jg 0x1007cb53
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ebx, ch
test bl, bl
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov ecx, ecx
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test ah, ah
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 esi, esi
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
jle 0x1007c923
mov eax, 0xff
mov esi, esi
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007c93f
mov dword [esp + 0x14], ebx
nop
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007c959
mov ebx, ecx
test bl, bl
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007cb53
cmp ecx, eax
jg 0x1007cb53
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1007cb53
cmp ecx, dword [esp + 0x14]
jg 0x1007cb53
cmp ebp, edx
jl 0x1007cb53
cmp ebp, ebx
jg 0x1007cb53
test eax, 0x4217
xor ecx, ecx
cmp dword [esp + 0x70], ecx
jne 0x1007cab0
cmp dword [esp + 0x6c], ecx
jne 0x1007cab0
cmp esi, ecx
jne 0x1007cab0
cmp dword [esp + 0x24], ecx
jne 0x1007cab0
cmp dword [esp + 0x20], ecx
jne 0x1007cab0
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007cb42
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
jmp 0x1007c9f0
test al, al
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007ca18
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007ca1c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007ca04
test eax, eax
je 0x1007ca79
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007ca6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007ca79
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007ca6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007ca79
movzx ebx, byte [edx]
movzx edi, byte [ecx]
sub ebx, edi
jne 0x1007ca6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007ca79
movzx ebx, byte [edx]
movzx edx, byte [ecx]
sub ebx, edx
je 0x1007ca79
test ebx, ebx
mov eax, 1
jg 0x1007ca7b
or eax, 0xffffffff
jmp 0x1007ca7b
xor eax, eax
test eax, eax
jne 0x1007cb42
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 0x1007c9f0
jmp 0x1007cb42
cmp dword [esp + 0xb4], ecx
mov dword [esp + 0x1c], ecx
jle 0x1007cb42
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x14], edi
lea esp, [esp]
mov ebx, ebx
xor ebx, ebx
cmp dword [esp + 0xb0], ebx
jle 0x1007cb22
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.100628a0
add esp, 0x14
test eax, eax
je 0x1007cb19
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007cae1
jmp 0x1007cb22
cmp ebx, dword [esp + 0xb0]
jl 0x1007cb42
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 0x1007cad0
mov edx, dword [esp + 0xb4]
cmp dword [esp + 0x1c], edx
je 0x1007d50d
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x1007c4e0
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 0x1007c430
jmp 0x1007d2f9
cmp eax, 3
jne 0x1007d2f9
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x24]
sub edi, dword [esp + 0xb4]
mov dword [esp + 0x44], edi
js 0x1007d2f9
nop
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x20]
sub ecx, dword [esp + 0xb0]
mov dword [esp + 0x48], ecx
js 0x1007d2ec
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 0x1007cc67
mov edi, dword [esp + 0x80]
lea edi, [edi + ecx*4]
add edi, dword [esp + 0xe4]
mov dh, dh
test al, al
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + edi]
mov edx, edx
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + edi]
mov bl, bl
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ecx + edi]
test ebx, ebx
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + edi]
mov dword [esp + 0x88], ecx
test bh, bh
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov esi, esi
movzx ebp, ah
mov dword [esp + 0x18], ebp
test bl, bl
and eax, 0xff
mov dword [esp + 0x14], eax
mov ecx, ecx
test ecx, ecx
test edx, edx
mov cl, cl
mov ebp, ecx
sub ebp, esi
mov eax, 0
sets al
sub eax, 1
and eax, ebp
mov dword [esp + 0x28], eax
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and eax, ebp
push edx
pop edx
add ecx, esi
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007cd36
mov dword [esp + 0x1c], ecx
mov esi, esi
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007cd56
mov dword [esp + 0x18], ecx
nop
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
add ecx, ebp
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007cd75
mov dword [esp + 0x14], ecx
test bl, bl
mov ecx, dword [esp + 0xdc]
cmp ecx, dword [esp + 0x28]
jl 0x1007d2d3
cmp ecx, dword [esp + 0x1c]
jg 0x1007d2d3
mov ecx, dword [esp + 0x54]
cmp ecx, dword [esp + 0x2c]
jl 0x1007d2d3
cmp ecx, dword [esp + 0x18]
jg 0x1007d2d3
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x1007d2d3
cmp ecx, dword [esp + 0x14]
jg 0x1007d2d3
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ecx, dh
mov dword [esp + 0x18], ecx
test bl, bl
and edx, 0xff
mov dword [esp + 0x14], edx
mov ecx, ecx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x28], edx
test ecx, ecx
mov edx, dword [esp + 0x64]
movzx ecx, dh
mov dword [esp + 0x3c], ecx
test edx, edx
and edx, 0xff
mov cl, cl
mov ebp, eax
sub ebp, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, ebp
mov dword [esp + 0x2c], ecx
test ah, ah
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 esi, esi
mov ebp, dword [esp + 0x14]
sub ebp, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ebp, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1007ce69
mov dword [esp + 0x1c], eax
mov esi, esi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x18], 0xff
jg 0x1007ce89
mov dword [esp + 0x18], ecx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007cea8
mov dword [esp + 0x14], ecx
test bl, bl
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x2c]
jl 0x1007d2d3
cmp eax, dword [esp + 0x1c]
jg 0x1007d2d3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007d2d3
cmp eax, dword [esp + 0x18]
jg 0x1007d2d3
cmp edx, ebp
jl 0x1007d2d3
cmp edx, dword [esp + 0x14]
jg 0x1007d2d3
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx edx, bh
test bl, bl
and ebx, 0xff
mov dword [esp + 0x18], ebx
mov ecx, ecx
movzx ecx, byte [esp + 0x5a]
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x58]
movzx ebx, ch
mov dword [esp + 0x3c], ebx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov ecx, eax
sub ecx, esi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
mov dword [esp + 0x2c], ebx
test ah, ah
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 esi, esi
mov ecx, dword [esp + 0x18]
sub ecx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, ecx
push edx
pop edx
mov ecx, 0xff
add eax, esi
cmp eax, ecx
mov dword [esp + 0x14], ecx
jg 0x1007cf8f
mov dword [esp + 0x14], eax
mov esi, esi
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, ecx
mov dword [esp + 0x1c], ecx
jg 0x1007cfa3
mov dword [esp + 0x1c], edx
nop
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, edx
cmp ecx, 0xff
mov edx, 0xff
jg 0x1007cfbd
mov edx, ecx
test bl, bl
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007d2d3
cmp ecx, dword [esp + 0x14]
jg 0x1007d2d3
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x34]
jl 0x1007d2d3
cmp eax, dword [esp + 0x1c]
jg 0x1007d2d3
cmp ebp, ebx
jl 0x1007d2d3
cmp ebp, edx
jg 0x1007d2d3
test dl, dl
test eax, eax
push edx
pop edx
test edi, edi
mov dh, dh
mov ecx, dword [esp + 0x88]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov esi, esi
movzx ebx, ch
test bl, bl
and ecx, 0xff
mov dword [esp + 0x18], ecx
mov ecx, ecx
movzx ecx, byte [esp + 0x62]
mov dword [esp + 0x28], ecx
test ecx, ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x3c], edx
test edx, edx
mov ebp, ecx
and ebp, 0xff
mov cl, cl
mov edx, eax
sub edx, esi
mov ecx, 0
sets cl
sub ecx, 1
and ecx, edx
mov dword [esp + 0x2c], ecx
test ah, ah
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 esi, esi
mov edx, dword [esp + 0x18]
sub edx, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and edx, ecx
push edx
pop edx
add eax, esi
cmp eax, 0xff
jle 0x1007d0a4
mov eax, 0xff
mov esi, esi
mov ecx, dword [esp + 0x24]
add ebx, ecx
cmp ebx, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007d0c0
mov dword [esp + 0x14], ebx
nop
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, ebx
cmp ecx, 0xff
mov ebx, 0xff
jg 0x1007d0da
mov ebx, ecx
test bl, bl
mov ecx, dword [esp + 0x28]
cmp ecx, dword [esp + 0x2c]
jl 0x1007d2d3
cmp ecx, eax
jg 0x1007d2d3
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [esp + 0x34]
jl 0x1007d2d3
cmp ecx, dword [esp + 0x14]
jg 0x1007d2d3
cmp ebp, edx
jl 0x1007d2d3
cmp ebp, ebx
jg 0x1007d2d3
test eax, 0x7695
xor eax, eax
cmp dword [esp + 0x70], eax
jne 0x1007d230
cmp dword [esp + 0x6c], eax
jne 0x1007d230
cmp esi, eax
jne 0x1007d230
cmp dword [esp + 0x24], eax
jne 0x1007d230
cmp dword [esp + 0x20], eax
jne 0x1007d230
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007d2c2
mov ebp, dword [esp + 0x30]
mov edx, edi
mov dword [esp + 0x18], edx
lea esp, [esp]
mov eax, eax
mov eax, dword [esp + 0xb0]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, ebp
jb 0x1007d198
mov edi, dword [edx]
cmp edi, dword [ecx]
jne 0x1007d19c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1007d184
test eax, eax
je 0x1007d1f9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007d1eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007d1f9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007d1eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007d1f9
movzx edi, byte [ecx]
movzx ebx, byte [edx]
sub ebx, edi
jne 0x1007d1eb
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007d1f9
movzx eax, byte [ecx]
movzx ebx, byte [edx]
sub ebx, eax
je 0x1007d1f9
test ebx, ebx
mov eax, 1
jg 0x1007d1fb
or eax, 0xffffffff
jmp 0x1007d1fb
xor eax, eax
test eax, eax
jne 0x1007d2c2
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 0x1007d170
jmp 0x1007d2c2
cmp dword [esp + 0xb4], eax
mov dword [esp + 0x1c], eax
jle 0x1007d2c2
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 0x1007d2a2
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.100628a0
add esp, 0x14
test eax, eax
je 0x1007d299
add ebx, 1
add edi, 4
cmp ebx, dword [esp + 0xb0]
jl 0x1007d261
jmp 0x1007d2a2
cmp ebx, dword [esp + 0xb0]
jl 0x1007d2c2
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 0x1007d250
mov eax, dword [esp + 0xb4]
cmp dword [esp + 0x1c], eax
je 0x1007d57b
mov ecx, dword [esp + 0x48]
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x1007cc60
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x5c]
sub edi, 1
mov dword [esp + 0x44], edi
jns 0x1007cbb0
mov esi, dword [esp + 0x38]
cmp dword [esi + 0x10], 0
jne 0x1007d313
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32f4], 0
jne 0x1007d325
mov edx, dword [esp + 0x90]
push edx
call fcn.101167de
add esp, 4
push edx
pop edx
cmp dword [esi + 0x18], 0
je 0x1007d356
mov eax, dword [esp + 0x30]
push eax
call fcn.101167de
add esp, 4
mov dl, dl
jmp 0x1007d356
cmp dword [esi + 0x10], 0
jne 0x1007d34b
cmp dword [ebp + 0x32f4], 0
jne 0x1007d356
push eax
call fcn.101167de
add esp, 4
mov ch, ch
mov edi, dword [esp + 0xe8]
mov esi, dword [esp + 0x38]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0xe8], edi
jle 0x1007aff0
jmp 0x1007d488
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
push ebx
pop ebx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
mov cl, cl
mov ch, ch
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007d3b5
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32f4], 0
jne 0x1007d3c7
mov eax, dword [esp + 0x90]
push eax
call fcn.101167de
add esp, 4
test edi, edi
cmp dword [ebx + 0x18], 0
je 0x1007d3df
mov ecx, dword [esp + 0x30]
push ecx
call fcn.101167de
add esp, 4
test eax, 0x6d17
test eax, 0x7124
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
push edx
pop edx
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.10118d49
add esp, 0x14
push ecx
pop ecx
lea eax, [esp + 0x108]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007d460
mov ecx, dword [ebx + 0x168]
sub eax, edx
lea edx, [esp + eax + 0x108]
push edx
lea eax, [esp + 0x10c]
push eax
call fcn.1000d090
test edx, edx
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1fc]
pop esi
xor ecx, esp
call fcn.10116cb9
add esp, 0x1fc
ret
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0xec]
lea esi, [edx + eax]
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xf0]
lea edi, [ecx + edx]
push ebx
pop ebx
test ah, ah
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007d4dd
mov eax, dword [esp + 0x94]
cmp dword [eax + 0x32f4], 0
jne 0x1007d4ef
mov ecx, dword [esp + 0x90]
push ecx
call fcn.101167de
add esp, 4
test al, al
cmp dword [ebx + 0x18], 0
je 0x1007d3df
mov edx, dword [esp + 0x30]
push edx
call fcn.101167de
add esp, 4
mov edx, edx
jmp 0x1007d3df
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0xec]
lea esi, [eax + ecx]
mov bl, bl
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0xf0]
lea edi, [edx + eax]
test eax, 0x4828
mov dh, dh
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007d54c
mov ecx, dword [esp + 0x94]
cmp dword [ecx + 0x32f4], 0
jne 0x1007d55d
mov edx, dword [esp + 0x90]
push edx
call fcn.101167de
add esp, 4
nop
cmp dword [ebx + 0x18], 0
je 0x1007d3df
mov eax, dword [esp + 0x30]
push eax
call fcn.101167de
add esp, 4
test bl, bl
jmp 0x1007d3df
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xec]
lea esi, [ecx + edx]
test eax, 0x6cd3
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xf0]
lea edi, [eax + ecx]
test esi, esi
test edi, edi
mov ebx, dword [esp + 0x38]
cmp dword [ebx + 0x10], 0
jne 0x1007d5ba
mov edx, dword [esp + 0x94]
cmp dword [edx + 0x32f4], 0
jne 0x1007d5cc
mov eax, dword [esp + 0x90]
push eax
call fcn.101167de
add esp, 4
test cl, cl
cmp dword [ebx + 0x18], 0
je 0x1007d3df
mov ecx, dword [esp + 0x30]
push ecx
call fcn.101167de
add esp, 4
test al, al
jmp 0x1007d3df
jmp fcn.10105789