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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101b23cc]
xor eax, esp
mov dword [esp + 0x144], eax
push ebx
push esi
mov esi, ecx
mov eax, dword [esi + 4]
push edi
mov dword [esp + 0x48], esi
mov dword [esp + 0xf0], eax
mov bh, bh
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov cl, cl
mov ah, ah
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
mov edi, edi
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
push eax
pop eax
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
mov ch, ch
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
push edx
pop edx
mov ch, ch
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
push edx
pop edx
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
push edx
pop edx
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
push ebx
pop ebx
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
push ecx
pop ecx
push 0x10166930
push 0x10166930
call fcn.1000bc80
mov al, al
mov dh, dh
mov ch, ch
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x100754f9
push ebp
jmp 0x10072d87
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x100754f8
mov ecx, dword [esi + 0x24]
imul ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xf0]
mov eax, dword [esp + 0xd8]
push ecx
push edx
push eax
call fcn.100fe3e0
add esp, 0xc
nop
mov esi, esi
mov dword [esp + 0x38], 0
mov ecx, ecx
mov ecx, ecx
push eax
pop eax
lea ebp, [ebx + 0x3264]
push 0x3e8
push ebp
call fcn.100414d0
add esp, 8
mov ebp, ebp
test edi, edi
jl 0x10075511
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x10075511
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x10]
mov edi, dword [ecx + edi*4]
push 0
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0xa0]
push edx
push edi
push ebx
call fcn.10065c20
add esp, 0x1c
test eax, eax
push ebp
jne 0x10072e30
call fcn.10041560
add esp, 4
mov dh, dh
jmp 0x100754da
call fcn.10041560
add esp, 4
mov edx, edx
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov esi, esi
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x100754c0
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x100754c0
cmp dword [esi + 0x18], 0
jne 0x10072ea3
test edi, edi
jle 0x10072f75
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x10072e97
mov eax, edx
mov ecx, ebp
mov cl, cl
mov byte [eax], 0
mov bl, bl
add eax, 4
sub ecx, 1
jne 0x10072e88
add edx, edi
sub esi, 1
jne 0x10072e80
jmp 0x10072f75
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.100fbefc
add esp, 4
mov dword [esp + 0x38], eax
mov dh, dh
test eax, eax
jne 0x10072ee5
cmp dword [esi + 0x10], eax
jne 0x10072ece
cmp dword [ebx + 0x32fc], eax
jne 0x100754da
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100fbfbf
add esp, 4
mov bh, bh
jmp 0x100754da
test edi, edi
jle 0x10072f75
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x98]
add eax, 1
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
mov edi, edi
test ebp, ebp
jle 0x10072f62
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
mov edi, edi
mov edx, edx
mov cl, cl
movzx eax, byte [ecx + 1]
mov ecx, ecx
movzx edx, byte [ecx]
mov edi, edi
movzx edi, byte [ecx - 1]
push ecx
pop ecx
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
xchg ebx, eax
xchg ebx, eax
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x10072f20
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x10072f10
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x10166898]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x50]
mov esi, dword [esp + 0x50]
mov dword [esp + 0x74], esi
fldcw word [esp + 0x18]
mov ebx, ebx
mov ch, ch
mov esi, esi
push edx
pop edx
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dl, dl
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x10166820
push eax
call fcn.100feacd
add esp, 0xc
mov dh, dh
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
mov ah, ah
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
nop
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
mov ebp, ebp
xchg ebx, eax
xchg ebx, eax
nop
push edx
pop edx
mov ch, ch
mov ecx, ecx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
nop
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
mov dl, dl
mov dword [esp + 0xc4], ebx
mov dl, dl
mov dword [esp + 0xc0], ebx
mov ch, ch
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
mov ebp, ebp
mov dword [esp + 0xd0], ecx
nop
mov dword [esp + 0xc8], eax
mov ebp, ebp
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
mov ah, ah
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
mov ebx, ebx
lea eax, [esi - 1]
imul eax, dword [esp + 0x48]
mov esi, dword [eax + edi]
mov dword [esp + 0x60], esi
mov ebp, ebp
lea eax, [eax + ebp*4]
mov eax, dword [eax + edi - 4]
mov dword [esp + 0x64], eax
mov al, al
mov dword [esp + 0x6c], ebx
mov bh, bh
mov dword [esp + 0x70], ecx
mov edx, edx
cmp ecx, edx
jne 0x1007325e
cmp edx, esi
jne 0x1007325e
cmp esi, eax
jne 0x1007325e
mov dword [esp + 0x6c], 1
mov al, al
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x10073123
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
xor eax, eax
cmp ebp, ebx
jle 0x10073110
mov esi, dword [esp + 0x70]
jmp 0x100730e0
mov ebp, ebp
cmp dword [ecx], esi
jne 0x100730f2
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x100730e0
jmp 0x10073110
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov cl, cl
mov dword [esp + 0xd4], eax
mov bh, bh
mov dword [esp + 0xbc], edx
mov ecx, ecx
cmp eax, ebp
jl 0x10073123
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x100730d1
xor edx, edx
cmp edi, ebx
jle 0x1007318c
xor esi, esi
jmp 0x10073130
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x10073178
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
push ecx
pop ecx
cmp dword [ecx], edi
jne 0x10073154
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10073142
jmp 0x10073171
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov ah, ah
mov dword [esp + 0xcc], eax
nop
mov dword [esp + 0xc4], edx
mov ah, ah
cmp eax, ebx
jge 0x10073185
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x10073130
jmp 0x1007318c
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x100731ef
mov eax, dword [esp + 0x48]
mov esi, edx
imul esi, eax
mov edi, eax
neg edi
add esi, dword [esp + 0x38]
xor eax, eax
cmp ebp, ebx
jle 0x100731e2
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov bl, bl
cmp dword [ecx], ebx
jne 0x100731c2
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x100731b0
jmp 0x100731e0
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
mov bh, bh
mov dword [esp + 0xc0], eax
mov ch, ch
mov dword [esp + 0xb8], edx
mov cl, cl
cmp eax, ebp
jl 0x100731ed
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x100731a4
jmp 0x100731ef
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x1007325e
mov edi, dword [esp + 0x48]
add ebp, 0xffffffff
mov esi, edx
imul esi, edi
mov dword [esp + 0x14], ebp
neg edi
nop
mov eax, dword [esp + 0x14]
cmp eax, ebx
jl 0x10073255
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
add ecx, esi
mov dh, dh
cmp dword [ecx], ebp
jne 0x10073237
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10073225
jmp 0x10073255
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov al, al
mov dword [esp + 0xd0], eax
mov edi, edi
mov dword [esp + 0xc8], edx
push eax
pop eax
cmp eax, ebx
jge 0x1007325e
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10073210
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x10073b0e
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1007547d
jmp 0x10073290
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10073ae8
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
imul ecx, eax
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xbc]
imul ecx, eax
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc4]
imul edx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xcc]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xb8]
imul ecx, eax
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xc0]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc8]
imul edx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x78], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x7c], ecx
jmp 0x10073330
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
mov eax, eax
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov cl, cl
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov cl, cl
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov cl, cl
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
push eax
pop eax
test eax, 0xff000000
jne 0x10073ac7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov al, al
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
mov dl, dl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov eax, eax
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov bh, bh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10073431
mov dword [esp + 0x1c], ecx
mov cl, cl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10073448
mov ecx, ebp
xchg ebx, eax
xchg ebx, eax
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10073462
mov ebp, eax
mov ch, ch
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x10073ac7
cmp eax, dword [esp + 0x1c]
jg 0x10073ac7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x10073ac7
cmp eax, ecx
jg 0x10073ac7
cmp edi, esi
jl 0x10073ac7
cmp edi, ebp
jg 0x10073ac7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebp, dh
mov al, al
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
mov dl, dl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov eax, eax
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x24], ecx
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x58], ecx
mov bh, bh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007353f
mov eax, 0xff
mov cl, cl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10073554
mov ebp, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10073569
mov edx, 0xff
mov ch, ch
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x10073ac7
cmp esi, eax
jg 0x10073ac7
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10073ac7
cmp eax, ebp
jg 0x10073ac7
cmp edi, ecx
jl 0x10073ac7
cmp edi, edx
jg 0x10073ac7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, bh
mov al, al
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov eax, eax
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x24], edx
mov dh, dh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x58], edx
mov bh, bh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x10073642
mov eax, 0xff
mov cl, cl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10073657
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007366c
mov ebx, 0xff
mov ch, ch
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x10073ac7
cmp edx, eax
jg 0x10073ac7
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10073ac7
cmp eax, edi
jg 0x10073ac7
cmp esi, ecx
jl 0x10073ac7
cmp esi, ebx
jg 0x10073ac7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, ch
mov al, al
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov dh, dh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov bh, bh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007374c
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10073761
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10073776
mov ecx, 0xff
mov ch, ch
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10073ac7
cmp ebx, dword [esp + 0x14]
jg 0x10073ac7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10073ac7
cmp ebx, edi
jg 0x10073ac7
cmp esi, edx
jl 0x10073ac7
cmp esi, ecx
jg 0x10073ac7
mov eax, eax
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x100738bb
cmp dword [esp + 0x6c], ecx
jne 0x100738bb
cmp ebp, ecx
jne 0x100738bb
cmp dword [esp + 0x18], ecx
jne 0x100738bb
cmp eax, ecx
jne 0x100738bb
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073950
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov dl, dl
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1007382b
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1007382f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10073817
test eax, eax
je 0x1007388c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007387e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007388c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007387e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007388c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007387e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007388c
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007388c
test esi, esi
mov eax, 1
jg 0x1007388e
or eax, 0xffffffff
jmp 0x1007388e
xor eax, eax
test eax, eax
jne 0x10073950
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x10073801
jmp 0x10073950
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073950
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov cl, cl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10073930
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x10073927
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100738f0
jmp 0x10073930
cmp esi, dword [esp + 0x94]
jl 0x10073950
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x100738d8
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10073ac7
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
push ebx
pop ebx
mov bh, bh
mov eax, eax
mov byte [esp + 0x148], 0x25
mov byte [esp + 0x149], 0x64
mov byte [esp + 0x14a], 0x2c
mov byte [esp + 0x14b], 0x25
mov byte [esp + 0x14c], 0x64
mov byte [esp + 0x14d], 0x2c
mov byte [esp + 0x14e], 0x25
mov byte [esp + 0x14f], 0x64
mov byte [esp + 0x150], al
mov esi, esi
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x154]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100fdd70
add esp, 0x14
mov ebp, ebp
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x10073a5a
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
mov ecx, ecx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10073a64
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100096c0
push ebx
pop ebx
mov ah, ah
mov ebp, ebp
test edi, edi
jle 0x10073ac7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10073ac0
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov edi, edi
add eax, 4
sub ecx, 1
jne 0x10073ab0
add edx, ebx
sub esi, 1
jne 0x10073aa1
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
add eax, 1
cmp eax, edx
mov dword [esp + 0x3c], eax
jle 0x10073330
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [ecx + 0x24]
sub edx, dword [esp + 0x98]
add eax, 1
cmp eax, edx
mov dword [esp + 0x40], eax
jle 0x10073290
jmp 0x1007547d
cmp eax, 1
jne 0x10074398
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1007547d
nop
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10074388
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
imul ecx, eax
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xbc]
imul ecx, eax
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc4]
imul edx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xcc]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xb8]
imul ecx, eax
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xc0]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc8]
imul edx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x78], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x7c], ecx
jmp 0x10073bd0
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
mov ah, ah
mov al, al
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov eax, eax
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov eax, eax
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
push ecx
pop ecx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
push edx
pop edx
test eax, 0xff000000
jne 0x10074367
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov al, al
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov dl, dl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov eax, eax
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov bh, bh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10073cd1
mov dword [esp + 0x1c], ecx
mov cl, cl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10073ce8
mov ecx, ebp
xchg ebx, eax
xchg ebx, eax
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10073d02
mov ebp, eax
mov ch, ch
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10074367
cmp eax, dword [esp + 0x1c]
jg 0x10074367
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074367
cmp eax, ecx
jg 0x10074367
cmp edi, esi
jl 0x10074367
cmp edi, ebp
jg 0x10074367
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebp, dh
mov al, al
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov dl, dl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov eax, eax
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov bh, bh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10073ddf
mov eax, 0xff
mov cl, cl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10073df4
mov ebp, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10073e09
mov edx, 0xff
mov ch, ch
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10074367
cmp esi, eax
jg 0x10074367
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074367
cmp eax, ebp
jg 0x10074367
cmp edi, ecx
jl 0x10074367
cmp edi, edx
jg 0x10074367
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, bh
mov al, al
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov eax, eax
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x2c], edx
mov dh, dh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov bh, bh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x10073ee2
mov eax, 0xff
mov cl, cl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10073ef7
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10073f0c
mov ebx, 0xff
mov ch, ch
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10074367
cmp edx, eax
jg 0x10074367
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074367
cmp eax, edi
jg 0x10074367
cmp esi, ecx
jl 0x10074367
cmp esi, ebx
jg 0x10074367
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, ch
mov al, al
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov dh, dh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov bh, bh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10073fec
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10074001
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10074016
mov ecx, 0xff
mov ch, ch
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10074367
cmp ebx, dword [esp + 0x14]
jg 0x10074367
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10074367
cmp ebx, edi
jg 0x10074367
cmp esi, edx
jl 0x10074367
cmp esi, ecx
jg 0x10074367
mov dl, dl
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007415b
cmp dword [esp + 0x6c], ecx
jne 0x1007415b
cmp ebp, ecx
jne 0x1007415b
cmp dword [esp + 0x18], ecx
jne 0x1007415b
cmp eax, ecx
jne 0x1007415b
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100741f0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov eax, eax
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x100740cb
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100740cf
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100740b7
test eax, eax
je 0x1007412c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007411e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007412c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007411e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007412c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007411e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007412c
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007412c
test esi, esi
mov eax, 1
jg 0x1007412e
or eax, 0xffffffff
jmp 0x1007412e
xor eax, eax
test eax, eax
jne 0x100741f0
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x100740a1
jmp 0x100741f0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100741f0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov ch, ch
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x100741d0
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x100741c7
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10074190
jmp 0x100741d0
cmp esi, dword [esp + 0x94]
jl 0x100741f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x10074178
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10074367
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov eax, eax
xchg ebx, eax
xchg ebx, eax
push ecx
pop ecx
mov byte [esp + 0x13c], 0x25
mov byte [esp + 0x13d], 0x64
mov byte [esp + 0x13e], 0x2c
mov byte [esp + 0x13f], 0x25
mov byte [esp + 0x140], 0x64
mov byte [esp + 0x141], 0x2c
mov byte [esp + 0x142], 0x25
mov byte [esp + 0x143], 0x64
mov byte [esp + 0x144], al
mov dh, dh
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x148]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100fdd70
add esp, 0x14
mov esi, esi
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x100742fa
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
mov bh, bh
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10074304
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100096c0
mov bh, bh
push ecx
pop ecx
mov bh, bh
test edi, edi
jle 0x10074367
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10074360
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov dh, dh
add eax, 4
sub ecx, 1
jne 0x10074350
add edx, ebx
sub esi, 1
jne 0x10074341
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x3c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
add eax, 1
cmp eax, edx
mov dword [esp + 0x3c], eax
jle 0x10073bd0
sub dword [esp + 0x40], 1
jns 0x10073b30
jmp 0x1007547d
cmp eax, 2
jne 0x10074c18
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1007547d
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x10074bf2
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
imul ecx, eax
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xbc]
imul ecx, eax
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc4]
imul edx, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0xcc]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xb8]
imul ecx, eax
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xc0]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xc8]
imul edx, eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x78], ecx
lea ecx, [edx + eax*4]
mov dword [esp + 0x7c], ecx
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ecx, [edx + eax*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
mov ch, ch
push ebx
pop ebx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov ch, ch
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
push ecx
pop ecx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov edi, edi
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov bh, bh
test eax, 0xff000000
jne 0x10074be7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov al, al
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov dl, dl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov eax, eax
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov bh, bh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10074551
mov dword [esp + 0x1c], ecx
mov cl, cl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10074568
mov ecx, ebp
xchg ebx, eax
xchg ebx, eax
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10074582
mov ebp, eax
mov ch, ch
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10074be7
cmp eax, dword [esp + 0x1c]
jg 0x10074be7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074be7
cmp eax, ecx
jg 0x10074be7
cmp edi, esi
jl 0x10074be7
cmp edi, ebp
jg 0x10074be7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebp, dh
mov al, al
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov dl, dl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov eax, eax
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov bh, bh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007465f
mov eax, 0xff
mov cl, cl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10074674
mov ebp, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10074689
mov edx, 0xff
mov ch, ch
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10074be7
cmp esi, eax
jg 0x10074be7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074be7
cmp eax, ebp
jg 0x10074be7
cmp edi, ecx
jl 0x10074be7
cmp edi, edx
jg 0x10074be7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, bh
mov al, al
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov eax, eax
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x2c], edx
mov dh, dh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov bh, bh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x10074762
mov eax, 0xff
mov cl, cl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10074777
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007478c
mov ebx, 0xff
mov ch, ch
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10074be7
cmp edx, eax
jg 0x10074be7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074be7
cmp eax, edi
jg 0x10074be7
cmp esi, ecx
jl 0x10074be7
cmp esi, ebx
jg 0x10074be7
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, ch
mov al, al
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov dh, dh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov bh, bh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007486c
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10074881
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10074896
mov ecx, 0xff
mov ch, ch
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10074be7
cmp ebx, dword [esp + 0x14]
jg 0x10074be7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10074be7
cmp ebx, edi
jg 0x10074be7
cmp esi, edx
jl 0x10074be7
cmp esi, ecx
jg 0x10074be7
mov eax, eax
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x100749db
cmp dword [esp + 0x6c], ecx
jne 0x100749db
cmp ebp, ecx
jne 0x100749db
cmp dword [esp + 0x18], ecx
jne 0x100749db
cmp eax, ecx
jne 0x100749db
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074a70
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov edx, edx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1007494b
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1007494f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10074937
test eax, eax
je 0x100749ac
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007499e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100749ac
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007499e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100749ac
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007499e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x100749ac
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x100749ac
test esi, esi
mov eax, 1
jg 0x100749ae
or eax, 0xffffffff
jmp 0x100749ae
xor eax, eax
test eax, eax
jne 0x10074a70
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x10074921
jmp 0x10074a70
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074a70
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov ah, ah
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10074a50
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x10074a47
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10074a10
jmp 0x10074a50
cmp esi, dword [esp + 0x94]
jl 0x10074a70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x100749f8
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10074be7
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov ebx, ebx
mov ebp, ebp
mov cl, cl
mov byte [esp + 0x130], 0x25
mov byte [esp + 0x131], 0x64
mov byte [esp + 0x132], 0x2c
mov byte [esp + 0x133], 0x25
mov byte [esp + 0x134], 0x64
mov byte [esp + 0x135], 0x2c
mov byte [esp + 0x136], 0x25
mov byte [esp + 0x137], 0x64
mov byte [esp + 0x138], al
mov edi, edi
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x13c]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100fdd70
add esp, 0x14
mov ebp, ebp
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x10074b7a
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
mov ecx, ecx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10074b84
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100096c0
mov esi, esi
mov ecx, ecx
xchg ebx, eax
xchg ebx, eax
test edi, edi
jle 0x10074be7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10074be0
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
push ebx
pop ebx
add eax, 4
sub ecx, 1
jne 0x10074bd0
add edx, ebx
sub esi, 1
jne 0x10074bc1
sub dword [esp + 0x3c], 1
jns 0x10074450
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x40]
mov edx, dword [ecx + 0x24]
sub edx, dword [esp + 0x98]
add eax, 1
cmp eax, edx
mov dword [esp + 0x40], eax
jle 0x100743c0
jmp 0x1007547d
cmp eax, 3
jne 0x1007547d
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1007547d
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x10075472
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xbc]
imul ecx, eax
imul edx, eax
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xd4]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc4]
imul ecx, eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xcc]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xb8]
imul edx, eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xc0]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc8]
imul ecx, eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd0]
lea eax, [ecx + edx*4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x3c]
lea ecx, [ecx + edx*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
mov edx, edx
mov ch, ch
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
mov edx, edx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov bl, bl
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov bl, bl
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov ebx, ebx
test eax, 0xff000000
jne 0x10075467
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov ebx, ebx
movzx ebp, ah
mov al, al
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov dl, dl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov eax, eax
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov bh, bh
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ecx
pop ecx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10074dd1
mov dword [esp + 0x1c], ecx
mov cl, cl
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10074de8
mov ecx, ebp
xchg ebx, eax
xchg ebx, eax
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10074e02
mov ebp, eax
mov ch, ch
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10075467
cmp eax, dword [esp + 0x1c]
jg 0x10075467
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10075467
cmp eax, ecx
jg 0x10075467
cmp edi, esi
jl 0x10075467
cmp edi, ebp
jg 0x10075467
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx ebp, dh
mov al, al
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov dl, dl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov eax, eax
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
mov dh, dh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov bh, bh
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ecx
pop ecx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10074edf
mov eax, 0xff
mov cl, cl
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10074ef4
mov ebp, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10074f09
mov edx, 0xff
mov ch, ch
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10075467
cmp esi, eax
jg 0x10075467
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10075467
cmp eax, ebp
jg 0x10075467
cmp edi, ecx
jl 0x10075467
cmp edi, edx
jg 0x10075467
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, bh
mov al, al
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov dl, dl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov eax, eax
mov ebp, dword [esp + 0x34]
mov ecx, eax
sub ecx, ebp
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x2c], edx
mov dh, dh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov bh, bh
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
jle 0x10074fe2
mov eax, 0xff
mov cl, cl
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10074ff7
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007500c
mov ebx, 0xff
mov ch, ch
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10075467
cmp edx, eax
jg 0x10075467
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10075467
cmp eax, edi
jg 0x10075467
cmp esi, ecx
jl 0x10075467
cmp esi, ebx
jg 0x10075467
mov edx, edx
mov dh, dh
xchg ebx, eax
xchg ebx, eax
push eax
pop eax
mov bl, bl
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov ebx, ebx
movzx edi, ch
mov al, al
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov dl, dl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov eax, eax
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov dh, dh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov bh, bh
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ecx
pop ecx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100750ec
mov dword [esp + 0x14], eax
mov cl, cl
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10075101
mov edi, 0xff
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10075116
mov ecx, 0xff
mov ch, ch
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10075467
cmp ebx, dword [esp + 0x14]
jg 0x10075467
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10075467
cmp ebx, edi
jg 0x10075467
cmp esi, edx
jl 0x10075467
cmp esi, ecx
jg 0x10075467
mov esi, esi
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007525b
cmp dword [esp + 0x6c], ecx
jne 0x1007525b
cmp ebp, ecx
jne 0x1007525b
cmp dword [esp + 0x18], ecx
jne 0x1007525b
cmp eax, ecx
jne 0x1007525b
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100752f0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov al, al
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x100751cb
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100751cf
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100751b7
test eax, eax
je 0x1007522c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007521e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007522c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007521e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007522c
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007521e
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007522c
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007522c
test esi, esi
mov eax, 1
jg 0x1007522e
or eax, 0xffffffff
jmp 0x1007522e
xor eax, eax
test eax, eax
jne 0x100752f0
mov eax, dword [esp + 0x1c]
add edi, dword [esp + 0x48]
add ebp, dword [esp + 0x44]
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x100751a1
jmp 0x100752f0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100752f0
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
xchg ebx, eax
xchg ebx, eax
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x100752d0
mov edi, dword [esp + 0x14]
lea esp, [esp]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004b9d0
add esp, 0x14
test eax, eax
je 0x100752c7
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10075290
jmp 0x100752d0
cmp esi, dword [esp + 0x94]
jl 0x100752f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
add ebx, dword [esp + 0x48]
add dword [esp + 0x14], ecx
add eax, 1
cmp eax, dword [esp + 0x98]
mov dword [esp + 0x1c], eax
jl 0x10075278
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10075467
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov edx, edx
push ecx
pop ecx
mov eax, eax
mov byte [esp + 0x124], 0x25
mov byte [esp + 0x125], 0x64
mov byte [esp + 0x126], 0x2c
mov byte [esp + 0x127], 0x25
mov byte [esp + 0x128], 0x64
mov byte [esp + 0x129], 0x2c
mov byte [esp + 0x12a], 0x25
mov byte [esp + 0x12b], 0x64
mov byte [esp + 0x12c], al
push ecx
pop ecx
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xe0]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x40]
add edx, ecx
push edx
push eax
lea ecx, [esp + 0x130]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100fdd70
add esp, 0x14
push eax
pop eax
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x100753fa
push 0x101664f1
push 0x101664f0
mov ecx, esi
call fcn.100096c0
mov ebp, ebp
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10075404
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100096c0
push ebx
pop ebx
xchg ebx, eax
xchg ebx, eax
mov dl, dl
test edi, edi
jle 0x10075467
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10075460
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov ch, ch
add eax, 4
sub ecx, 1
jne 0x10075450
add edx, ebx
sub esi, 1
jne 0x10075441
sub dword [esp + 0x3c], 1
jns 0x10074cd0
sub dword [esp + 0x40], 1
jns 0x10074c40
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x10075497
mov eax, dword [esp + 0xec]
cmp dword [eax + 0x32fc], 0
jne 0x100754a9
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100fbfbf
add esp, 4
mov ebp, ebp
cmp dword [esi + 0x18], 0
je 0x100754da
mov edx, dword [esp + 0x38]
push edx
call fcn.100fbfbf
add esp, 4
mov edx, edx
jmp 0x100754da
cmp dword [esi + 0x10], 0
jne 0x100754cf
cmp dword [ebx + 0x32fc], 0
jne 0x100754da
push eax
call fcn.100fbfbf
add esp, 4
mov edx, edx
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x10072d80
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100fc49a
add esp, 0x148
ret
jmp fcn.100eaf69