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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101a53c4]
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 cl, cl
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov dh, dh
push eax
pop eax
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
mov edx, edx
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
mov edx, edx
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
mov bl, bl
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
push ebx
pop ebx
push edx
pop edx
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
mov esi, esi
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
push ebx
pop ebx
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
mov ebp, ebp
push 0x1015a888
push 0x1015a888
call fcn.1000bbd0
mov edx, edx
mov dl, dl
push edx
pop edx
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x100752b8
push ebp
jmp 0x10072b47
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x100752b7
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.100f6f60
add esp, 0xc
push edx
pop edx
push eax
pop eax
mov dword [esp + 0x38], 0
mov dh, dh
mov ch, ch
mov ebx, ebx
lea ebp, [ebx + 0x3264]
push 0x3e8
push ebp
call fcn.10041800
add esp, 8
push ecx
pop ecx
test edi, edi
jl 0x100752d0
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x100752d0
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.10065c30
add esp, 0x1c
test eax, eax
push ebp
jne 0x10072bf1
call fcn.10041890
add esp, 4
mov ch, ch
jmp 0x10075299
call fcn.10041890
add esp, 4
mov cl, cl
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
push ebx
pop ebx
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x1007527f
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x1007527f
cmp dword [esi + 0x18], 0
jne 0x10072c6b
test edi, edi
jle 0x10072d39
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x10072c5f
mov eax, edx
mov ecx, ebp
lea esp, [esp]
mov edi, edi
mov byte [eax], 0
mov ecx, ecx
add eax, 4
sub ecx, 1
jne 0x10072c50
add edx, edi
sub esi, 1
jne 0x10072c41
jmp 0x10072d39
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.100f4a78
add esp, 4
mov dword [esp + 0x38], eax
push edx
pop edx
test eax, eax
jne 0x10072cad
cmp dword [esi + 0x10], eax
jne 0x10072c96
cmp dword [ebx + 0x32fc], eax
jne 0x10075299
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100f4b3b
add esp, 4
mov cl, cl
jmp 0x10075299
test edi, edi
jle 0x10072d39
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x98]
add eax, 1
mov dword [esp + 0x74], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ecx
test ebp, ebp
jle 0x10072d26
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
mov edx, edx
mov dl, dl
movzx eax, byte [ecx + 1]
mov cl, cl
movzx edx, byte [ecx]
mov eax, eax
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
mov bh, bh
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x10072ce4
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x10072cd6
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x1015a7f0]
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 eax, eax
push edx
pop edx
mov ebp, ebp
mov esi, esi
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov ebx, ebx
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x1015a780
push eax
call fcn.100f764d
add esp, 0xc
mov bl, bl
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
push ecx
pop ecx
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
push eax
pop eax
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
push eax
pop eax
mov dl, dl
push edx
pop edx
mov bl, bl
mov al, al
mov ebx, ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
nop
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
mov ecx, ecx
mov dword [esp + 0xc4], ebx
mov ah, ah
mov dword [esp + 0xc0], ebx
mov dl, dl
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
mov ecx, ecx
mov dword [esp + 0xd0], ecx
push ecx
pop ecx
mov dword [esp + 0xc8], eax
mov esi, esi
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
push ecx
pop ecx
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
mov edi, edi
lea eax, [esi - 1]
imul eax, dword [esp + 0x48]
mov esi, dword [eax + edi]
mov dword [esp + 0x60], esi
push eax
pop eax
lea eax, [eax + ebp*4]
mov eax, dword [eax + edi - 4]
mov dword [esp + 0x64], eax
mov ch, ch
mov dword [esp + 0x6c], ebx
push ebx
pop ebx
mov dword [esp + 0x70], ecx
mov ch, ch
cmp ecx, edx
jne 0x1007301d
cmp edx, esi
jne 0x1007301d
cmp esi, eax
jne 0x1007301d
mov dword [esp + 0x6c], 1
mov bh, bh
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x10072ee5
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
xor eax, eax
cmp ebp, ebx
jle 0x10072ed2
mov esi, dword [esp + 0x70]
mov bh, bh
cmp dword [ecx], esi
jne 0x10072eb4
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x10072ea2
jmp 0x10072ed2
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
push ecx
pop ecx
mov dword [esp + 0xd4], eax
mov al, al
mov dword [esp + 0xbc], edx
xchg ebx, eax
xchg ebx, eax
cmp eax, ebp
jl 0x10072ee5
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x10072e98
xor edx, edx
cmp edi, ebx
jle 0x10072f4d
xor esi, esi
lea ecx, [ecx]
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x10072f39
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov bh, bh
cmp dword [ecx], edi
jne 0x10072f14
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10072f02
jmp 0x10072f32
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov ebp, ebp
mov dword [esp + 0xcc], eax
mov eax, eax
mov dword [esp + 0xc4], edx
mov bh, bh
cmp eax, ebx
jge 0x10072f46
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x10072ef0
jmp 0x10072f4d
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x10072fb0
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 0x10072fa3
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov ebx, ebx
cmp dword [ecx], ebx
jne 0x10072f83
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x10072f71
jmp 0x10072fa1
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
mov esi, esi
mov dword [esp + 0xc0], eax
mov ebp, ebp
mov dword [esp + 0xb8], edx
mov edi, edi
cmp eax, ebp
jl 0x10072fae
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10072f65
jmp 0x10072fb0
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x1007301d
mov edi, dword [esp + 0x48]
add ebp, 0xffffffff
mov esi, edx
imul esi, edi
mov dword [esp + 0x14], ebp
neg edi
mov eax, dword [esp + 0x14]
cmp eax, ebx
jl 0x10073014
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
add ecx, esi
mov bl, bl
cmp dword [ecx], ebp
jne 0x10072ff7
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10072fe5
jmp 0x10073014
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov bh, bh
mov dword [esp + 0xd0], eax
nop
mov dword [esp + 0xc8], edx
mov al, al
cmp eax, ebx
jge 0x1007301d
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10072fd0
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x100738ce
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1007523d
jmp 0x10073050
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x100738a8
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 0x100730f0
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 al, al
mov eax, eax
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
push edx
pop edx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov dl, dl
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 edx
pop edx
test eax, 0xff000000
jne 0x10073887
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov eax, eax
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
mov edx, edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
mov bl, bl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ah, ah
mov edi, eax
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov esi, esi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x100731f2
mov dword [esp + 0x1c], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10073209
mov ecx, ebp
mov ecx, ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10073223
mov ebp, eax
mov dh, dh
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x10073887
cmp eax, dword [esp + 0x1c]
jg 0x10073887
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x10073887
cmp eax, ecx
jg 0x10073887
cmp edi, esi
jl 0x10073887
cmp edi, ebp
jg 0x10073887
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx ebp, dh
mov edx, edx
and edx, 0xff
mov edx, edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
mov bl, bl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
mov ah, ah
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov esi, esi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10073301
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10073316
mov ebp, 0xff
mov ecx, ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1007332b
mov edx, 0xff
mov dh, dh
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x10073887
cmp esi, eax
jg 0x10073887
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10073887
cmp eax, ebp
jg 0x10073887
cmp edi, ecx
jl 0x10073887
cmp edi, edx
jg 0x10073887
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, bh
mov edx, edx
and ebx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
mov bl, bl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
mov ah, ah
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov esi, esi
add eax, ebp
cmp eax, 0xff
jle 0x10073405
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1007341a
mov edi, 0xff
mov ecx, ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007342f
mov ebx, 0xff
mov dh, dh
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x10073887
cmp edx, eax
jg 0x10073887
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10073887
cmp eax, edi
jg 0x10073887
cmp esi, ecx
jl 0x10073887
cmp esi, ebx
jg 0x10073887
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, ch
mov edx, edx
and ecx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bl, bl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ah, ah
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov al, al
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 ebx, ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov esi, esi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10073510
mov dword [esp + 0x14], eax
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10073525
mov edi, 0xff
mov ecx, ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1007353a
mov ecx, 0xff
mov dh, dh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10073887
cmp ebx, dword [esp + 0x14]
jg 0x10073887
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10073887
cmp ebx, edi
jg 0x10073887
cmp esi, edx
jl 0x10073887
cmp esi, ecx
jg 0x10073887
push ecx
pop ecx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10073684
cmp dword [esp + 0x6c], ecx
jne 0x10073684
cmp ebp, ecx
jne 0x10073684
cmp dword [esp + 0x18], ecx
jne 0x10073684
cmp eax, ecx
jne 0x10073684
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073712
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
push eax
pop eax
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x100735f4
jmp 0x100735e0
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100735f8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100735e0
test eax, eax
je 0x10073655
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073647
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073655
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073647
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073655
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073647
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073655
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10073655
test esi, esi
mov eax, 1
jg 0x10073657
or eax, 0xffffffff
jmp 0x10073657
xor eax, eax
test eax, eax
jne 0x10073712
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 0x100735c5
jmp 0x10073712
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073712
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov esi, esi
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x100736f2
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004bce0
add esp, 0x14
test eax, eax
je 0x100736e9
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100736b2
jmp 0x100736f2
cmp esi, dword [esp + 0x94]
jl 0x10073712
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 0x100736a1
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10073887
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 bl, bl
push ecx
pop ecx
push ebx
pop ebx
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
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x154]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100f68f0
add esp, 0x14
mov ecx, ecx
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1007381c
push 0x1015a45d
push 0x1015a45c
mov ecx, esi
call fcn.100095a0
mov ebx, ebx
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10073826
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100095a0
mov dh, dh
mov esi, esi
push edx
pop edx
test edi, edi
jle 0x10073887
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10073880
mov eax, edx
mov ecx, edi
jmp 0x10073870
mov dword [eax], 0xff000000
mov ecx, ecx
add eax, 4
sub ecx, 1
jne 0x10073870
add edx, ebx
sub esi, 1
jne 0x10073863
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 0x100730f0
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 0x10073050
jmp 0x1007523d
cmp eax, 1
jne 0x10074158
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1007523d
nop
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10074148
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 0x10073990
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 ebx, ebx
push ebx
pop ebx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov ah, ah
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov dh, dh
test eax, 0xff000000
jne 0x10074127
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov eax, eax
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
mov edx, edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov bl, bl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ah, ah
mov edi, eax
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov esi, esi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10073a92
mov dword [esp + 0x1c], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10073aa9
mov ecx, ebp
mov ecx, ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10073ac3
mov ebp, eax
mov dh, dh
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10074127
cmp eax, dword [esp + 0x1c]
jg 0x10074127
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074127
cmp eax, ecx
jg 0x10074127
cmp edi, esi
jl 0x10074127
cmp edi, ebp
jg 0x10074127
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx ebp, dh
mov edx, edx
and edx, 0xff
mov edx, edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov bl, bl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ah, ah
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov esi, esi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10073ba1
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10073bb6
mov ebp, 0xff
mov ecx, ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10073bcb
mov edx, 0xff
mov dh, dh
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10074127
cmp esi, eax
jg 0x10074127
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074127
cmp eax, ebp
jg 0x10074127
cmp edi, ecx
jl 0x10074127
cmp edi, edx
jg 0x10074127
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, bh
mov edx, edx
and ebx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov bl, bl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ah, ah
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov esi, esi
add eax, ebp
cmp eax, 0xff
jle 0x10073ca5
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10073cba
mov edi, 0xff
mov ecx, ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10073ccf
mov ebx, 0xff
mov dh, dh
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10074127
cmp edx, eax
jg 0x10074127
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074127
cmp eax, edi
jg 0x10074127
cmp esi, ecx
jl 0x10074127
cmp esi, ebx
jg 0x10074127
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, ch
mov edx, edx
and ecx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bl, bl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ah, ah
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov al, al
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 ebx, ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov esi, esi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10073db0
mov dword [esp + 0x14], eax
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10073dc5
mov edi, 0xff
mov ecx, ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10073dda
mov ecx, 0xff
mov dh, dh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10074127
cmp ebx, dword [esp + 0x14]
jg 0x10074127
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10074127
cmp ebx, edi
jg 0x10074127
cmp esi, edx
jl 0x10074127
cmp esi, ecx
jg 0x10074127
mov cl, cl
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10073f24
cmp dword [esp + 0x6c], ecx
jne 0x10073f24
cmp ebp, ecx
jne 0x10073f24
cmp dword [esp + 0x18], ecx
jne 0x10073f24
cmp eax, ecx
jne 0x10073f24
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073fb2
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
push ebx
pop ebx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10073e94
jmp 0x10073e80
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10073e98
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10073e80
test eax, eax
je 0x10073ef5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073ee7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073ef5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073ee7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073ef5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073ee7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073ef5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10073ef5
test esi, esi
mov eax, 1
jg 0x10073ef7
or eax, 0xffffffff
jmp 0x10073ef7
xor eax, eax
test eax, eax
jne 0x10073fb2
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 0x10073e65
jmp 0x10073fb2
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073fb2
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
push edx
pop edx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10073f92
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004bce0
add esp, 0x14
test eax, eax
je 0x10073f89
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10073f52
jmp 0x10073f92
cmp esi, dword [esp + 0x94]
jl 0x10073fb2
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 0x10073f41
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10074127
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
xchg ebx, eax
xchg ebx, eax
mov ecx, ecx
mov ecx, 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 al, al
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.100f68f0
add esp, 0x14
mov dl, dl
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x100740bc
push 0x1015a45d
push 0x1015a45c
mov ecx, esi
call fcn.100095a0
mov ah, ah
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100740c6
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100095a0
mov esi, esi
mov cl, cl
mov eax, eax
test edi, edi
jle 0x10074127
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10074120
mov eax, edx
mov ecx, edi
jmp 0x10074110
mov dword [eax], 0xff000000
mov ebx, ebx
add eax, 4
sub ecx, 1
jne 0x10074110
add edx, ebx
sub esi, 1
jne 0x10074103
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 0x10073990
sub dword [esp + 0x40], 1
jns 0x100738f0
jmp 0x1007523d
cmp eax, 2
jne 0x100749d8
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1007523d
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x100749b2
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 ecx, ecx
mov ebx, ebx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov bl, bl
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov ch, ch
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ch, ch
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov dl, dl
test eax, 0xff000000
jne 0x100749a7
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov eax, eax
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
mov edx, edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov bl, bl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ah, ah
mov edi, eax
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov esi, esi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10074312
mov dword [esp + 0x1c], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10074329
mov ecx, ebp
mov ecx, ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10074343
mov ebp, eax
mov dh, dh
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x100749a7
cmp eax, dword [esp + 0x1c]
jg 0x100749a7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x100749a7
cmp eax, ecx
jg 0x100749a7
cmp edi, esi
jl 0x100749a7
cmp edi, ebp
jg 0x100749a7
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx ebp, dh
mov edx, edx
and edx, 0xff
mov edx, edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov bl, bl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ah, ah
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov esi, esi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10074421
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10074436
mov ebp, 0xff
mov ecx, ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1007444b
mov edx, 0xff
mov dh, dh
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x100749a7
cmp esi, eax
jg 0x100749a7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x100749a7
cmp eax, ebp
jg 0x100749a7
cmp edi, ecx
jl 0x100749a7
cmp edi, edx
jg 0x100749a7
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, bh
mov edx, edx
and ebx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov bl, bl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ah, ah
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov esi, esi
add eax, ebp
cmp eax, 0xff
jle 0x10074525
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1007453a
mov edi, 0xff
mov ecx, ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007454f
mov ebx, 0xff
mov dh, dh
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x100749a7
cmp edx, eax
jg 0x100749a7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x100749a7
cmp eax, edi
jg 0x100749a7
cmp esi, ecx
jl 0x100749a7
cmp esi, ebx
jg 0x100749a7
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, ch
mov edx, edx
and ecx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bl, bl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ah, ah
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov al, al
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 ebx, ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov esi, esi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10074630
mov dword [esp + 0x14], eax
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10074645
mov edi, 0xff
mov ecx, ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1007465a
mov ecx, 0xff
mov dh, dh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x100749a7
cmp ebx, dword [esp + 0x14]
jg 0x100749a7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x100749a7
cmp ebx, edi
jg 0x100749a7
cmp esi, edx
jl 0x100749a7
cmp esi, ecx
jg 0x100749a7
mov ebp, ebp
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x100747a4
cmp dword [esp + 0x6c], ecx
jne 0x100747a4
cmp ebp, ecx
jne 0x100747a4
cmp dword [esp + 0x18], ecx
jne 0x100747a4
cmp eax, ecx
jne 0x100747a4
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074832
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov ah, ah
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10074714
jmp 0x10074700
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10074718
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10074700
test eax, eax
je 0x10074775
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074767
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074775
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074767
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074775
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074767
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074775
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10074775
test esi, esi
mov eax, 1
jg 0x10074777
or eax, 0xffffffff
jmp 0x10074777
xor eax, eax
test eax, eax
jne 0x10074832
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 0x100746e5
jmp 0x10074832
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074832
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
push ebx
pop ebx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10074812
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004bce0
add esp, 0x14
test eax, eax
je 0x10074809
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100747d2
jmp 0x10074812
cmp esi, dword [esp + 0x94]
jl 0x10074832
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 0x100747c1
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x100749a7
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov ah, ah
mov edi, edi
mov ch, ch
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 ebx, ebx
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.100f68f0
add esp, 0x14
mov ebx, ebx
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1007493c
push 0x1015a45d
push 0x1015a45c
mov ecx, esi
call fcn.100095a0
push eax
pop eax
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10074946
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100095a0
nop
push eax
pop eax
mov ebx, ebx
test edi, edi
jle 0x100749a7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x100749a0
mov eax, edx
mov ecx, edi
lea ebx, [ebx]
mov dword [eax], 0xff000000
mov edx, edx
add eax, 4
sub ecx, 1
jne 0x10074990
add edx, ebx
sub esi, 1
jne 0x10074982
sub dword [esp + 0x3c], 1
jns 0x10074210
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 0x10074180
jmp 0x1007523d
cmp eax, 3
jne 0x1007523d
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1007523d
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x10075232
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xbc]
imul ecx, eax
imul edx, eax
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xd4]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc4]
imul ecx, eax
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0xcc]
lea ecx, [ecx + edx*4]
mov edx, dword [esp + 0xb8]
imul edx, eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xc0]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0xc8]
imul ecx, eax
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xd0]
lea eax, [ecx + edx*4]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x3c]
lea ecx, [ecx + edx*4]
add ecx, dword [esp + 0xd8]
mov dword [esp + 0x30], ecx
push ebx
pop ebx
push eax
pop eax
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
mov edx, edx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov edx, edx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
nop
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov dl, dl
test eax, 0xff000000
jne 0x10075227
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov eax, eax
movzx ebp, ah
mov edx, edx
and eax, 0xff
mov dword [esp + 0x14], eax
mov edx, edx
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov bl, bl
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ah, ah
mov edi, eax
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov esi, esi
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10074b91
mov dword [esp + 0x1c], ecx
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10074ba8
mov ecx, ebp
mov ecx, ecx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10074bc2
mov ebp, eax
mov dh, dh
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10075227
cmp eax, dword [esp + 0x1c]
jg 0x10075227
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10075227
cmp eax, ecx
jg 0x10075227
cmp edi, esi
jl 0x10075227
cmp edi, ebp
jg 0x10075227
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx ebp, dh
mov edx, edx
and edx, 0xff
mov edx, edx
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov bl, bl
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ah, ah
mov edi, ecx
and edi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov esi, esi
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10074ca0
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10074cb5
mov ebp, 0xff
mov ecx, ecx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10074cca
mov edx, 0xff
mov dh, dh
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10075227
cmp esi, eax
jg 0x10075227
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10075227
cmp eax, ebp
jg 0x10075227
cmp edi, ecx
jl 0x10075227
cmp edi, edx
jg 0x10075227
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, bh
mov edx, edx
and ebx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov bl, bl
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ah, ah
mov esi, ecx
and esi, 0xff
push ebx
pop ebx
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 al, al
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 ebx, ebx
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov esi, esi
add eax, ebp
cmp eax, 0xff
jle 0x10074da4
mov eax, 0xff
xchg ebx, eax
xchg ebx, eax
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10074db9
mov edi, 0xff
mov ecx, ecx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x10074dce
mov ebx, 0xff
mov dh, dh
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10075227
cmp edx, eax
jg 0x10075227
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10075227
cmp eax, edi
jg 0x10075227
cmp esi, ecx
jl 0x10075227
cmp esi, ebx
jg 0x10075227
mov bh, bh
push ecx
pop ecx
mov bl, bl
mov dh, dh
mov cl, cl
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov eax, eax
movzx edi, ch
mov edx, edx
and ecx, 0xff
mov edx, edx
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bl, bl
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ah, ah
mov esi, edx
and esi, 0xff
push ebx
pop ebx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov al, al
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 ebx, ebx
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov esi, esi
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10074eaf
mov dword [esp + 0x14], eax
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10074ec4
mov edi, 0xff
mov ecx, ecx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10074ed9
mov ecx, 0xff
mov dh, dh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10075227
cmp ebx, dword [esp + 0x14]
jg 0x10075227
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10075227
cmp ebx, edi
jg 0x10075227
cmp esi, edx
jl 0x10075227
cmp esi, ecx
jg 0x10075227
mov ch, ch
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10075024
cmp dword [esp + 0x6c], ecx
jne 0x10075024
cmp ebp, ecx
jne 0x10075024
cmp dword [esp + 0x18], ecx
jne 0x10075024
cmp eax, ecx
jne 0x10075024
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100750b2
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
xchg ebx, eax
xchg ebx, eax
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10074f94
lea ebx, [ebx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10074f98
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10074f80
test eax, eax
je 0x10074ff5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074fe7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074ff5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074fe7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074ff5
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074fe7
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074ff5
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10074ff5
test esi, esi
mov eax, 1
jg 0x10074ff7
or eax, 0xffffffff
jmp 0x10074ff7
xor eax, eax
test eax, eax
jne 0x100750b2
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 0x10074f64
jmp 0x100750b2
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x100750b2
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
push ebx
pop ebx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10075092
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebx + esi*4]
push edx
mov edx, dword [edi]
push eax
push ebp
call fcn.1004bce0
add esp, 0x14
test eax, eax
je 0x10075089
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10075052
jmp 0x10075092
cmp esi, dword [esp + 0x94]
jl 0x100750b2
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 0x10075041
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10075227
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 ch, ch
mov esi, esi
mov byte [esp + 0x124], 0x25
mov byte [esp + 0x125], 0x64
mov byte [esp + 0x126], 0x2c
mov byte [esp + 0x127], 0x25
mov byte [esp + 0x128], 0x64
mov byte [esp + 0x129], 0x2c
mov byte [esp + 0x12a], 0x25
mov byte [esp + 0x12b], 0x64
mov byte [esp + 0x12c], al
mov ebx, ebx
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.100f68f0
add esp, 0x14
mov ah, ah
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x100751bc
push 0x1015a45d
push 0x1015a45c
mov ecx, esi
call fcn.100095a0
mov eax, eax
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100751c6
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100095a0
push ecx
pop ecx
xchg ebx, eax
xchg ebx, eax
mov dl, dl
test edi, edi
jle 0x10075227
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10075220
mov eax, edx
mov ecx, edi
jmp 0x10075210
mov dword [eax], 0xff000000
mov esi, esi
add eax, 4
sub ecx, 1
jne 0x10075210
add edx, ebx
sub esi, 1
jne 0x10075203
sub dword [esp + 0x3c], 1
jns 0x10074a90
sub dword [esp + 0x40], 1
jns 0x10074a00
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x10075257
mov eax, dword [esp + 0xec]
cmp dword [eax + 0x32fc], 0
jne 0x10075269
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100f4b3b
add esp, 4
mov cl, cl
cmp dword [esi + 0x18], 0
je 0x10075299
mov edx, dword [esp + 0x38]
push edx
call fcn.100f4b3b
add esp, 4
nop
jmp 0x10075299
cmp dword [esi + 0x10], 0
jne 0x1007528e
cmp dword [ebx + 0x32fc], 0
jne 0x10075299
push eax
call fcn.100f4b3b
add esp, 4
mov ecx, ecx
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x10072b40
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100f5016
add esp, 0x148
ret
jmp fcn.100e3ae9