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

Disassembly:
sub esp, 0x148
mov eax, dword [0x101b03d4]
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
nop
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov ch, ch
mov ah, ah
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
mov esi, esi
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
mov esi, esi
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
mov ebp, ebp
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
nop
nop
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
mov dh, dh
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
mov ecx, ecx
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
mov ebx, ebx
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
mov dl, dl
push 0x10165918
push 0x10165918
call fcn.1000b340
mov dh, dh
mov ah, ah
mov edx, edx
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x10074e99
push ebp
jmp 0x10072747
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x10074e98
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.100fd070
add esp, 0xc
mov esi, esi
mov edi, edi
mov dword [esp + 0x38], 0
mov ah, ah
push ebx
pop ebx
mov ecx, ecx
lea ebp, [ebx + 0x3264]
push 0x3e8
push ebp
call fcn.10040a20
add esp, 8
mov dl, dl
test edi, edi
jl 0x10074eb1
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x10074eb1
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.100653b0
add esp, 0x1c
test eax, eax
push ebp
jne 0x100727f1
call fcn.10040ab0
add esp, 4
mov ah, ah
jmp 0x10074e7a
call fcn.10040ab0
add esp, 4
mov esi, esi
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov bl, bl
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x10074e60
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x10074e60
cmp dword [esi + 0x18], 0
jne 0x1007286b
test edi, edi
jle 0x10072939
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x1007285f
mov eax, edx
mov ecx, ebp
lea esp, [esp]
mov al, al
mov byte [eax], 0
mov ebp, ebp
add eax, 4
sub ecx, 1
jne 0x10072850
add edx, edi
sub esi, 1
jne 0x10072841
jmp 0x10072939
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.100fab8c
add esp, 4
mov dword [esp + 0x38], eax
xchg ebx, eax
xchg ebx, eax
test eax, eax
jne 0x100728ad
cmp dword [esi + 0x10], eax
jne 0x10072896
cmp dword [ebx + 0x32fc], eax
jne 0x10074e7a
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100fac4f
add esp, 4
mov esi, esi
jmp 0x10074e7a
test edi, edi
jle 0x10072939
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 0x10072926
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
push edx
pop edx
mov cl, cl
movzx eax, byte [ecx + 1]
mov ah, ah
movzx edx, byte [ecx]
mov ebx, ebx
movzx edi, byte [ecx - 1]
push ecx
pop ecx
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov esi, esi
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov esi, esi
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x100728e4
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x100728d6
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x10165880]
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 dl, dl
mov dh, dh
mov al, al
mov edi, edi
xor ebx, ebx
mov dword [esp + 0x10], ebx
push ecx
pop ecx
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x10165808
push eax
call fcn.100fd75d
add esp, 0xc
mov esi, esi
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
push edx
pop edx
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
mov ecx, ecx
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
mov ebp, ebp
mov ebp, ebp
mov eax, eax
push eax
pop eax
mov edi, edi
mov ch, ch
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
mov al, al
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
push ebx
pop ebx
mov dword [esp + 0xc4], ebx
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xc0], ebx
push edx
pop edx
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xd0], ecx
mov edi, edi
mov dword [esp + 0xc8], eax
mov ecx, ecx
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
mov ebx, ebx
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
mov ecx, ecx
lea eax, [esi - 1]
imul eax, dword [esp + 0x48]
mov esi, dword [eax + edi]
mov dword [esp + 0x60], esi
mov bh, bh
lea eax, [eax + ebp*4]
mov eax, dword [eax + edi - 4]
mov dword [esp + 0x64], eax
mov dl, dl
mov dword [esp + 0x6c], ebx
mov bl, bl
mov dword [esp + 0x70], ecx
mov eax, eax
cmp ecx, edx
jne 0x10072c2d
cmp edx, esi
jne 0x10072c2d
cmp esi, eax
jne 0x10072c2d
mov dword [esp + 0x6c], 1
mov esi, esi
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x10072af2
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
lea esp, [esp]
xor eax, eax
cmp ebp, ebx
jle 0x10072adf
mov esi, dword [esp + 0x70]
lea ebx, [ebx]
mov edi, edi
cmp dword [ecx], esi
jne 0x10072ac2
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x10072ab0
jmp 0x10072adf
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov esi, esi
mov dword [esp + 0xd4], eax
nop
mov dword [esp + 0xbc], edx
mov edi, edi
cmp eax, ebp
jl 0x10072af2
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x10072aa0
xor edx, edx
cmp edi, ebx
jle 0x10072b5d
xor esi, esi
lea ebx, [ebx]
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x10072b49
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov cl, cl
cmp dword [ecx], edi
jne 0x10072b24
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10072b12
jmp 0x10072b42
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov eax, eax
mov dword [esp + 0xcc], eax
push ecx
pop ecx
mov dword [esp + 0xc4], edx
mov ecx, ecx
cmp eax, ebx
jge 0x10072b56
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x10072b00
jmp 0x10072b5d
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x10072bc0
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 0x10072bb3
mov ebx, dword [esp + 0x70]
mov ecx, esi
push eax
pop eax
cmp dword [ecx], ebx
jne 0x10072b93
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x10072b81
jmp 0x10072bb1
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
mov ah, ah
mov dword [esp + 0xc0], eax
mov cl, cl
mov dword [esp + 0xb8], edx
mov ah, ah
cmp eax, ebp
jl 0x10072bbe
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10072b75
jmp 0x10072bc0
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x10072c2d
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 0x10072c24
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
add ecx, esi
mov esi, esi
cmp dword [ecx], ebp
jne 0x10072c07
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x10072bf5
jmp 0x10072c24
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
mov dh, dh
mov dword [esp + 0xd0], eax
mov bl, bl
mov dword [esp + 0xc8], edx
nop
cmp eax, ebx
jge 0x10072c2d
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x10072be0
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x100734ce
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x10074e1d
jmp 0x10072c60
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x100734a8
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 0x10072d00
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 ah, ah
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov ebp, ebp
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov bh, bh
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ebp, ebp
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
nop
test eax, 0xff000000
jne 0x10073487
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
push eax
pop eax
movzx ebp, ah
mov esi, esi
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
push ecx
pop ecx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov edx, edx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
mov dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ebx
pop ebx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10072e00
mov dword [esp + 0x1c], ecx
mov edx, edx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10072e17
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10072e31
mov ebp, eax
mov ebp, ebp
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x10073487
cmp eax, dword [esp + 0x1c]
jg 0x10073487
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x10073487
cmp eax, ecx
jg 0x10073487
cmp edi, esi
jl 0x10073487
cmp edi, ebp
jg 0x10073487
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, edx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx ebp, dh
mov esi, esi
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov edx, edx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x24], ecx
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x58], ecx
mov dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ebx
pop ebx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10072f0e
mov eax, 0xff
mov edx, edx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10072f23
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x10072f38
mov edx, 0xff
mov ebp, ebp
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x10073487
cmp esi, eax
jg 0x10073487
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10073487
cmp eax, ebp
jg 0x10073487
cmp edi, ecx
jl 0x10073487
cmp edi, edx
jg 0x10073487
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, bh
mov esi, esi
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
push ecx
pop ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov edx, edx
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
push eax
pop eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x58], edx
mov dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
jle 0x10073011
mov eax, 0xff
mov edx, edx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10073026
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007303b
mov ebx, 0xff
mov ebp, ebp
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x10073487
cmp edx, eax
jg 0x10073487
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x10073487
cmp eax, edi
jg 0x10073487
cmp esi, ecx
jl 0x10073487
cmp esi, ebx
jg 0x10073487
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, ch
mov esi, esi
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
push ecx
pop ecx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov edx, edx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
push eax
pop eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007311b
mov dword [esp + 0x14], eax
mov edx, edx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10073130
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10073145
mov ecx, 0xff
mov ebp, ebp
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10073487
cmp ebx, dword [esp + 0x14]
jg 0x10073487
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10073487
cmp ebx, edi
jg 0x10073487
cmp esi, edx
jl 0x10073487
cmp esi, ecx
jg 0x10073487
nop
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007328a
cmp dword [esp + 0x6c], ecx
jne 0x1007328a
cmp ebp, ecx
jne 0x1007328a
cmp dword [esp + 0x18], ecx
jne 0x1007328a
cmp eax, ecx
jne 0x1007328a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073314
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
nop
mov eax, eax
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x100731fa
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x100731fe
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100731e6
test eax, eax
je 0x1007325b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007324d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007325b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007324d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007325b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007324d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007325b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007325b
test esi, esi
mov eax, 1
jg 0x1007325d
or eax, 0xffffffff
jmp 0x1007325d
xor eax, eax
test eax, eax
jne 0x10073314
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 0x100731d0
jmp 0x10073314
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073314
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov dl, dl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x100732f4
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.1004af40
add esp, 0x14
test eax, eax
je 0x100732eb
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100732b4
jmp 0x100732f4
cmp esi, dword [esp + 0x94]
jl 0x10073314
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 0x100732a3
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10073487
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 ecx, ecx
mov ah, ah
mov cl, cl
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.100fca00
add esp, 0x14
push ebx
pop ebx
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1007341e
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
mov ebp, ebp
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10073428
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100092e0
push edx
pop edx
mov ecx, ecx
nop
test edi, edi
jle 0x10073487
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10073480
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov al, al
add eax, 4
sub ecx, 1
jne 0x10073470
add edx, ebx
sub esi, 1
jne 0x10073464
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 0x10072d00
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 0x10072c60
jmp 0x10074e1d
cmp eax, 1
jne 0x10073d50
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x10074e1d
nop
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x10073d40
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 0x10073590
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
push eax
pop 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 ch, ch
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov dh, dh
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov edi, edi
test eax, 0xff000000
jne 0x10073d1f
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
push eax
pop eax
movzx ebp, ah
mov esi, esi
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
push ecx
pop ecx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov edx, edx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ebx
pop ebx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10073691
mov dword [esp + 0x1c], ecx
mov edx, edx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x100736a8
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x100736c2
mov ebp, eax
mov ebp, ebp
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10073d1f
cmp eax, dword [esp + 0x1c]
jg 0x10073d1f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10073d1f
cmp eax, ecx
jg 0x10073d1f
cmp edi, esi
jl 0x10073d1f
cmp edi, ebp
jg 0x10073d1f
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, edx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx ebp, dh
mov esi, esi
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov edx, edx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ebx
pop ebx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007379f
mov eax, 0xff
mov edx, edx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x100737b4
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x100737c9
mov edx, 0xff
mov ebp, ebp
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10073d1f
cmp esi, eax
jg 0x10073d1f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10073d1f
cmp eax, ebp
jg 0x10073d1f
cmp edi, ecx
jl 0x10073d1f
cmp edi, edx
jg 0x10073d1f
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, bh
mov esi, esi
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
push ecx
pop ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov edx, edx
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
push eax
pop eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
jle 0x100738a2
mov eax, 0xff
mov edx, edx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x100738b7
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x100738cc
mov ebx, 0xff
mov ebp, ebp
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10073d1f
cmp edx, eax
jg 0x10073d1f
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10073d1f
cmp eax, edi
jg 0x10073d1f
cmp esi, ecx
jl 0x10073d1f
cmp esi, ebx
jg 0x10073d1f
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, ch
mov esi, esi
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
push ecx
pop ecx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov edx, edx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
push eax
pop eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x100739ac
mov dword [esp + 0x14], eax
mov edx, edx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x100739c1
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x100739d6
mov ecx, 0xff
mov ebp, ebp
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10073d1f
cmp ebx, dword [esp + 0x14]
jg 0x10073d1f
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10073d1f
cmp ebx, edi
jg 0x10073d1f
cmp esi, edx
jl 0x10073d1f
cmp esi, ecx
jg 0x10073d1f
mov dl, dl
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10073b1b
cmp dword [esp + 0x6c], ecx
jne 0x10073b1b
cmp ebp, ecx
jne 0x10073b1b
cmp dword [esp + 0x18], ecx
jne 0x10073b1b
cmp eax, ecx
jne 0x10073b1b
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073bb0
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
push ecx
pop ecx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10073a8b
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10073a8f
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10073a77
test eax, eax
je 0x10073aec
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073ade
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073aec
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073ade
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073aec
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10073ade
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10073aec
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10073aec
test esi, esi
mov eax, 1
jg 0x10073aee
or eax, 0xffffffff
jmp 0x10073aee
xor eax, eax
test eax, eax
jne 0x10073bb0
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 0x10073a61
jmp 0x10073bb0
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10073bb0
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 0x10073b90
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.1004af40
add esp, 0x14
test eax, eax
je 0x10073b87
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10073b50
jmp 0x10073b90
cmp esi, dword [esp + 0x94]
jl 0x10073bb0
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 0x10073b38
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10073d1f
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
push ecx
pop 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 edx, edx
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.100fca00
add esp, 0x14
mov ch, ch
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x10073cba
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
mov dl, dl
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10073cc4
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100092e0
xchg ebx, eax
xchg ebx, eax
nop
mov ch, ch
test edi, edi
jle 0x10073d1f
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10073d18
mov eax, edx
mov ecx, edi
mov dword [eax], 0xff000000
mov edi, edi
add eax, 4
sub ecx, 1
jne 0x10073d08
add edx, ebx
sub esi, 1
jne 0x10073d00
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 0x10073590
sub dword [esp + 0x40], 1
jns 0x100734f0
jmp 0x10074e1d
cmp eax, 2
jne 0x100745c8
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x10074e1d
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x100745a2
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 al, al
mov edx, edx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
mov cl, cl
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
push eax
pop eax
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ebx, ebx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov eax, eax
test eax, 0xff000000
jne 0x10074597
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
push eax
pop eax
movzx ebp, ah
mov esi, esi
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
push ecx
pop ecx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov edx, edx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ebx
pop ebx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10073f02
mov dword [esp + 0x1c], ecx
mov edx, edx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10073f19
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x10073f33
mov ebp, eax
mov ebp, ebp
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10074597
cmp eax, dword [esp + 0x1c]
jg 0x10074597
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074597
cmp eax, ecx
jg 0x10074597
cmp edi, esi
jl 0x10074597
cmp edi, ebp
jg 0x10074597
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, edx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx ebp, dh
mov esi, esi
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov edx, edx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ebx
pop ebx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x10074010
mov eax, 0xff
mov edx, edx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x10074025
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1007403a
mov edx, 0xff
mov ebp, ebp
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10074597
cmp esi, eax
jg 0x10074597
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074597
cmp eax, ebp
jg 0x10074597
cmp edi, ecx
jl 0x10074597
cmp edi, edx
jg 0x10074597
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, bh
mov esi, esi
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
push ecx
pop ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov edx, edx
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
push eax
pop eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
jle 0x10074113
mov eax, 0xff
mov edx, edx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x10074128
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1007413d
mov ebx, 0xff
mov ebp, ebp
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10074597
cmp edx, eax
jg 0x10074597
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074597
cmp eax, edi
jg 0x10074597
cmp esi, ecx
jl 0x10074597
cmp esi, ebx
jg 0x10074597
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, ch
mov esi, esi
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
push ecx
pop ecx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov edx, edx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
push eax
pop eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1007421d
mov dword [esp + 0x14], eax
mov edx, edx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10074232
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10074247
mov ecx, 0xff
mov ebp, ebp
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10074597
cmp ebx, dword [esp + 0x14]
jg 0x10074597
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10074597
cmp ebx, edi
jg 0x10074597
cmp esi, edx
jl 0x10074597
cmp esi, ecx
jg 0x10074597
mov dh, dh
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1007438c
cmp dword [esp + 0x6c], ecx
jne 0x1007438c
cmp ebp, ecx
jne 0x1007438c
cmp dword [esp + 0x18], ecx
jne 0x1007438c
cmp eax, ecx
jne 0x1007438c
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074421
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 0x100742fc
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10074300
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x100742e8
test eax, eax
je 0x1007435d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007434f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007435d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007434f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007435d
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1007434f
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1007435d
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1007435d
test esi, esi
mov eax, 1
jg 0x1007435f
or eax, 0xffffffff
jmp 0x1007435f
xor eax, eax
test eax, eax
jne 0x10074421
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 0x100742d2
jmp 0x10074421
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074421
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
lea esp, [esp]
mov dl, dl
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10074401
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.1004af40
add esp, 0x14
test eax, eax
je 0x100743f8
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x100743c1
jmp 0x10074401
cmp esi, dword [esp + 0x94]
jl 0x10074421
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 0x100743b0
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10074597
xor eax, eax
mov byte [esp + 0x104], 0
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov dword [esp + 0x10d], eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov word [esp + 0x121], ax
mov byte [esp + 0x123], al
mov dh, dh
mov esi, esi
mov eax, eax
mov byte [esp + 0x130], 0x25
mov byte [esp + 0x131], 0x64
mov byte [esp + 0x132], 0x2c
mov byte [esp + 0x133], 0x25
mov byte [esp + 0x134], 0x64
mov byte [esp + 0x135], 0x2c
mov byte [esp + 0x136], 0x25
mov byte [esp + 0x137], 0x64
mov byte [esp + 0x138], al
mov bh, bh
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x13c]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100fca00
add esp, 0x14
mov dl, dl
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1007452b
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
mov al, al
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10074535
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100092e0
nop
mov cl, cl
mov dh, dh
test edi, edi
jle 0x10074597
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10074590
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov ah, ah
add eax, 4
sub ecx, 1
jne 0x10074580
add edx, ebx
sub esi, 1
jne 0x10074571
sub dword [esp + 0x3c], 1
jns 0x10073e01
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 0x10073d71
jmp 0x10074e1d
cmp eax, 3
jne 0x10074e1d
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x10074e1d
lea esp, [esp]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x10074e12
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 cl, cl
push edx
pop edx
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
mov ecx, ecx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
nop
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 edi, edi
test eax, 0xff000000
jne 0x10074e07
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
push eax
pop eax
movzx ebp, ah
mov esi, esi
and eax, 0xff
mov dword [esp + 0x14], eax
nop
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
push ecx
pop ecx
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, eax
and edi, 0xff
mov edx, edx
mov esi, ecx
sub esi, dword [esp + 0x34]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
mov dl, dl
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
push ebx
pop ebx
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x10074780
mov dword [esp + 0x1c], ecx
mov edx, edx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x10074797
mov ecx, ebp
push ebx
pop ebx
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x100747b1
mov ebp, eax
mov ebp, ebp
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x10074e07
cmp eax, dword [esp + 0x1c]
jg 0x10074e07
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074e07
cmp eax, ecx
jg 0x10074e07
cmp edi, esi
jl 0x10074e07
cmp edi, ebp
jg 0x10074e07
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, edx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx ebp, dh
mov esi, esi
and edx, 0xff
nop
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov bh, bh
mov edi, ecx
and edi, 0xff
mov edx, edx
mov esi, eax
sub esi, dword [esp + 0x34]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x2c], ecx
push eax
pop eax
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
mov dl, dl
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
push ebx
pop ebx
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1007488e
mov eax, 0xff
mov edx, edx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x100748a3
mov ebp, 0xff
push ebx
pop ebx
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x100748b8
mov edx, 0xff
mov ebp, ebp
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x10074e07
cmp esi, eax
jg 0x10074e07
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074e07
cmp eax, ebp
jg 0x10074e07
cmp edi, ecx
jl 0x10074e07
cmp edi, edx
jg 0x10074e07
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov eax, ebx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, bh
mov esi, esi
and ebx, 0xff
nop
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
push ecx
pop ecx
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov bh, bh
mov esi, ecx
and esi, 0xff
mov edx, edx
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
push eax
pop eax
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
mov dl, dl
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
jle 0x10074991
mov eax, 0xff
mov edx, edx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x100749a6
mov edi, 0xff
push ebx
pop ebx
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x100749bb
mov ebx, 0xff
mov ebp, ebp
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x10074e07
cmp edx, eax
jg 0x10074e07
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x10074e07
cmp eax, edi
jg 0x10074e07
cmp esi, ecx
jl 0x10074e07
cmp esi, ebx
jg 0x10074e07
push eax
pop eax
xchg ebx, eax
xchg ebx, eax
mov ch, ch
mov bl, bl
push edx
pop edx
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
push eax
pop eax
movzx edi, ch
mov esi, esi
and ecx, 0xff
nop
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
push ecx
pop ecx
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov bh, bh
mov esi, edx
and esi, 0xff
mov edx, edx
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
push eax
pop eax
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
mov dl, dl
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
push ebx
pop ebx
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x10074a9b
mov dword [esp + 0x14], eax
mov edx, edx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x10074ab0
mov edi, 0xff
push ebx
pop ebx
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x10074ac5
mov ecx, 0xff
mov ebp, ebp
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x10074e07
cmp ebx, dword [esp + 0x14]
jg 0x10074e07
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x10074e07
cmp ebx, edi
jg 0x10074e07
cmp esi, edx
jl 0x10074e07
cmp esi, ecx
jg 0x10074e07
push ecx
pop ecx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x10074c0a
cmp dword [esp + 0x6c], ecx
jne 0x10074c0a
cmp ebp, ecx
jne 0x10074c0a
cmp dword [esp + 0x18], ecx
jne 0x10074c0a
cmp eax, ecx
jne 0x10074c0a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074c94
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
push edx
pop edx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x10074b7a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10074b7e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10074b66
test eax, eax
je 0x10074bdb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074bcd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074bdb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074bcd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074bdb
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x10074bcd
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10074bdb
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10074bdb
test esi, esi
mov eax, 1
jg 0x10074bdd
or eax, 0xffffffff
jmp 0x10074bdd
xor eax, eax
test eax, eax
jne 0x10074c94
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 0x10074b50
jmp 0x10074c94
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x10074c94
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov edi, edi
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x10074c74
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.1004af40
add esp, 0x14
test eax, eax
je 0x10074c6b
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x10074c34
jmp 0x10074c74
cmp esi, dword [esp + 0x94]
jl 0x10074c94
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 0x10074c23
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x10074e07
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
mov ah, ah
mov ch, ch
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
xchg ebx, eax
xchg ebx, eax
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.100fca00
add esp, 0x14
xchg ebx, eax
xchg ebx, eax
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x10074d9d
push 0x101654d9
push 0x101654d8
mov ecx, esi
call fcn.100092e0
nop
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10074da7
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100092e0
push eax
pop eax
mov ah, ah
mov dl, dl
test edi, edi
jle 0x10074e07
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x10074e00
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov dh, dh
add eax, 4
sub ecx, 1
jne 0x10074df0
add edx, ebx
sub esi, 1
jne 0x10074de4
sub dword [esp + 0x3c], 1
jns 0x10074680
sub dword [esp + 0x40], 1
jns 0x100745f0
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x10074e37
mov eax, dword [esp + 0xec]
cmp dword [eax + 0x32fc], 0
jne 0x10074e49
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100fac4f
add esp, 4
mov ecx, ecx
cmp dword [esi + 0x18], 0
je 0x10074e7a
mov edx, dword [esp + 0x38]
push edx
call fcn.100fac4f
add esp, 4
mov esi, esi
jmp 0x10074e7a
cmp dword [esi + 0x10], 0
jne 0x10074e6f
cmp dword [ebx + 0x32fc], 0
jne 0x10074e7a
push eax
call fcn.100fac4f
add esp, 4
mov ebx, ebx
mov edi, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
add edi, 1
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x8c], edi
jle 0x10072740
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100fb12a
add esp, 0x148
ret
jmp fcn.100e9bf9