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

Disassembly:
sub esp, 0x148
mov eax, dword [0x10132f1c]
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 al, al
mov ebx, dword [esi]
mov dword [esp + 0xe8], ebx
mov bh, bh
mov dh, dh
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x40], ecx
push ebx
pop ebx
mov edx, dword [esi + 0x58]
mov dword [esp + 0xf4], edx
mov ecx, ecx
mov eax, dword [esi + 0x50]
mov dword [esp + 0xd4], eax
mov bh, bh
mov ecx, dword [esi + 0x54]
mov dword [esp + 0xec], ecx
xchg ebx, eax
xchg ebx, eax
mov edx, edx
fld qword [esi + 0x160]
fstp qword [esp + 0xf8]
nop
mov edx, dword [esi + 0x48]
mov dword [esp + 0xdc], edx
mov ebp, ebp
mov eax, dword [esi + 0x4c]
mov dword [esp + 0xd8], eax
mov cl, cl
mov ecx, dword [esi + 0x168]
mov dword [esp + 0xe0], ecx
mov cl, cl
push 0x100eea68
push 0x100eea68
call fcn.10007380
mov ebp, ebp
mov bl, bl
push eax
pop eax
mov edi, dword [esi + 8]
cmp edi, dword [esi + 0xc]
mov dword [esp + 0x88], edi
jg 0x1004c559
push ebp
jmp 0x10049e17
mov ebx, dword [esp + 0xec]
cmp dword [esi + 0x16c], 0
jne 0x1004c558
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.100abe40
add esp, 0xc
mov eax, eax
mov ebp, ebp
mov dword [esp + 0x38], 0
push edx
pop edx
mov ecx, ecx
push ebx
pop ebx
lea ebp, [ebx + 0x3264]
push 0x3e8
push ebp
call fcn.100298c0
add esp, 8
push ecx
pop ecx
test edi, edi
jl 0x1004c571
mov eax, dword [esp + 0xf4]
cmp edi, dword [eax + 8]
jge 0x1004c571
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.10041980
add esp, 0x1c
test eax, eax
push ebp
jne 0x10049ec1
call fcn.10029950
add esp, 4
mov ebp, ebp
jmp 0x1004c53a
call fcn.10029950
add esp, 4
nop
mov eax, dword [esp + 0x38]
mov dword [esp + 0xe8], eax
mov ebp, ebp
mov ebp, dword [esp + 0x94]
cmp ebp, dword [esi + 0x20]
jg 0x1004c520
mov edi, dword [esp + 0x98]
cmp edi, dword [esi + 0x24]
jg 0x1004c520
cmp dword [esi + 0x18], 0
jne 0x10049f32
test edi, edi
jle 0x1004a005
mov edx, eax
mov esi, edi
mov edi, dword [esp + 0x48]
add edx, 3
test ebp, ebp
jle 0x10049f26
mov eax, edx
mov ecx, ebp
mov esi, esi
mov byte [eax], 0
nop
add eax, 4
sub ecx, 1
jne 0x10049f18
add edx, edi
sub esi, 1
jne 0x10049f10
jmp 0x1004a005
mov eax, edi
imul eax, dword [esp + 0x48]
push eax
call fcn.100aa0a8
add esp, 4
mov dword [esp + 0x38], eax
mov eax, eax
test eax, eax
jne 0x10049f74
cmp dword [esi + 0x10], eax
jne 0x10049f5d
cmp dword [ebx + 0x32fc], eax
jne 0x1004c53a
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100aa16b
add esp, 4
push ecx
pop ecx
jmp 0x1004c53a
test edi, edi
jle 0x1004a005
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
lea ecx, [ecx]
test ebp, ebp
jle 0x10049ff2
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov ebx, ebp
mov edi, edi
mov cl, cl
mov eax, eax
movzx eax, byte [ecx + 1]
mov edi, edi
movzx edx, byte [ecx]
mov dh, dh
movzx edi, byte [ecx - 1]
mov eax, eax
add edi, edx
add edi, eax
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
mov cl, cl
movzx eax, dl
mov edx, eax
shl edx, 8
or edx, eax
shl edx, 8
or edx, eax
mov dword [esi], edx
mov edi, edi
add ecx, 4
add esi, 4
sub ebx, 1
jne 0x10049fb0
mov eax, dword [esp + 0x48]
add dword [esp + 0x74], eax
add dword [esp + 0x30], eax
sub dword [esp + 0x14], 1
jne 0x10049fa0
fld1
fsub qword [esp + 0xfc]
fnstcw word [esp + 0x18]
fmul qword [0x100ee9f0]
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]
nop
push ebx
pop ebx
nop
mov edx, edx
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov esi, esi
lea eax, [esp + 0x10]
push eax
mov eax, dword [esp + 0x50]
add eax, 0x5c
push 0x100ee9cc
push eax
call fcn.100ac52d
add esp, 0xc
mov edi, edi
movzx eax, byte [esp + 0x12]
add eax, esi
mov dword [esp + 0x34], eax
push eax
pop eax
movzx eax, byte [esp + 0x11]
add eax, esi
mov dword [esp + 0x18], eax
push ebx
pop ebx
mov eax, dword [esp + 0x10]
and eax, 0xff
add eax, esi
mov dword [esp + 0x20], eax
mov ah, ah
mov ah, ah
mov ecx, ecx
mov ebx, ebx
push ebx
pop ebx
mov ah, ah
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xd4], ebx
mov al, al
lea ecx, [ebp - 1]
mov dword [esp + 0xcc], ecx
mov ah, ah
mov dword [esp + 0xc4], ebx
push ecx
pop ecx
mov dword [esp + 0xc0], ebx
mov esi, esi
mov esi, dword [esp + 0x98]
lea eax, [esi - 1]
mov dword [esp + 0xb8], eax
mov ch, ch
mov dword [esp + 0xd0], ecx
mov eax, eax
mov dword [esp + 0xc8], eax
mov cl, cl
mov edi, dword [esp + 0x38]
mov ecx, dword [edi]
mov dword [esp + 0x68], ecx
xchg ebx, eax
xchg ebx, eax
mov edx, dword [edi + ebp*4 - 4]
mov dword [esp + 0x5c], edx
mov ebp, ebp
lea eax, [esi - 1]
imul eax, dword [esp + 0x48]
mov esi, dword [eax + edi]
mov dword [esp + 0x60], esi
push ecx
pop ecx
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 dl, dl
mov dword [esp + 0x70], ecx
mov ecx, ecx
cmp ecx, edx
jne 0x1004a2ee
cmp edx, esi
jne 0x1004a2ee
cmp esi, eax
jne 0x1004a2ee
mov dword [esp + 0x6c], 1
mov eax, eax
mov edi, dword [esp + 0x98]
xor edx, edx
cmp edi, ebx
jle 0x1004a1b2
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], ecx
xor eax, eax
cmp ebp, ebx
jle 0x1004a19f
mov esi, dword [esp + 0x70]
lea ecx, [ecx]
mov eax, eax
cmp dword [ecx], esi
jne 0x1004a182
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1004a170
jmp 0x1004a19f
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
nop
mov dword [esp + 0xd4], eax
mov edi, edi
mov dword [esp + 0xbc], edx
mov bh, bh
cmp eax, ebp
jl 0x1004a1b2
mov ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x48]
add edx, 1
cmp edx, edi
mov dword [esp + 0x14], ecx
jl 0x1004a163
xor edx, edx
cmp edi, ebx
jle 0x1004a21d
xor esi, esi
lea ebx, [ebx]
lea eax, [ebp - 1]
cmp eax, ebx
jl 0x1004a209
mov edi, dword [esp + 0x70]
lea ecx, [esi + eax*4]
add ecx, dword [esp + 0x38]
mov ecx, ecx
cmp dword [ecx], edi
jne 0x1004a1e4
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1004a1d2
jmp 0x1004a202
mov ecx, dword [ecx]
mov dword [esp + 0x5c], ecx
mov ah, ah
mov dword [esp + 0xcc], eax
mov ebp, ebp
mov dword [esp + 0xc4], edx
mov edx, edx
cmp eax, ebx
jge 0x1004a216
mov edi, dword [esp + 0x98]
add esi, dword [esp + 0x48]
add edx, 1
cmp edx, edi
jl 0x1004a1c0
jmp 0x1004a21d
mov edi, dword [esp + 0x98]
lea edx, [edi - 1]
cmp edx, ebx
jl 0x1004a27f
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 0x1004a272
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov edi, edi
cmp dword [ecx], ebx
jne 0x1004a253
add eax, 1
add ecx, 4
cmp eax, ebp
jl 0x1004a241
jmp 0x1004a270
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
mov bh, bh
mov dword [esp + 0xc0], eax
mov ah, ah
mov dword [esp + 0xb8], edx
nop
cmp eax, ebp
jl 0x1004a27d
xor ebx, ebx
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1004a235
jmp 0x1004a27f
xor ebx, ebx
mov edx, dword [esp + 0x98]
add edx, 0xffffffff
cmp edx, ebx
jl 0x1004a2ee
mov edi, dword [esp + 0x48]
add ebp, 0xffffffff
mov esi, edx
imul esi, edi
mov dword [esp + 0x14], ebp
neg edi
nop
mov eax, dword [esp + 0x14]
cmp eax, ebx
jl 0x1004a2e5
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
add ecx, esi
push ebx
pop ebx
cmp dword [ecx], ebp
jne 0x1004a2c7
sub eax, 1
sub ecx, 4
cmp eax, ebx
jge 0x1004a2b5
jmp 0x1004a2e5
mov ecx, dword [ecx]
mov dword [esp + 0x64], ecx
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xd0], eax
xchg ebx, eax
xchg ebx, eax
mov dword [esp + 0xc8], edx
mov dh, dh
cmp eax, ebx
jge 0x1004a2ee
sub edx, 1
add esi, edi
cmp edx, ebx
jge 0x1004a2a0
mov eax, dword [esp + 0xf8]
cmp eax, ebx
jne 0x1004ab8e
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1004c4dd
jmp 0x1004a320
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1004ab68
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 0x1004a3c0
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
nop
mov dh, dh
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 edx, edx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
push edx
pop edx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x50], ecx
mov dl, dl
test eax, 0xff000000
jne 0x1004ab47
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov edi, edi
movzx ebp, ah
mov bh, bh
and eax, 0xff
mov dword [esp + 0x14], eax
push eax
pop eax
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x58], eax
mov bh, bh
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x2c], eax
nop
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov ch, ch
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1004a4bf
mov dword [esp + 0x1c], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1004a4d6
mov ecx, ebp
nop
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1004a4ef
mov ebp, eax
mov bh, bh
mov eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x28]
jl 0x1004ab47
cmp eax, dword [esp + 0x1c]
jg 0x1004ab47
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x2c]
jl 0x1004ab47
cmp eax, ecx
jg 0x1004ab47
cmp edi, esi
jl 0x1004ab47
cmp edi, ebp
jg 0x1004ab47
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx ebp, dh
mov bh, bh
and edx, 0xff
push eax
pop eax
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x2c], ecx
mov bh, bh
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x28], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x58], ecx
nop
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov ch, ch
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1004a5cb
mov eax, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1004a5e0
mov ebp, 0xff
nop
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1004a5f4
mov edx, 0xff
mov bh, bh
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x24]
jl 0x1004ab47
cmp esi, eax
jg 0x1004ab47
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1004ab47
cmp eax, ebp
jg 0x1004ab47
cmp edi, ecx
jl 0x1004ab47
cmp edi, edx
jg 0x1004ab47
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, bh
mov bh, bh
and ebx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x2c], edx
mov bh, bh
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x28], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov cl, cl
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 bh, bh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x58], edx
nop
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov ch, ch
add eax, ebp
cmp eax, 0xff
jle 0x1004a6cc
mov eax, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1004a6e1
mov edi, 0xff
nop
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1004a6f5
mov ebx, 0xff
mov bh, bh
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x24]
jl 0x1004ab47
cmp edx, eax
jg 0x1004ab47
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x58]
jl 0x1004ab47
cmp eax, edi
jg 0x1004ab47
cmp esi, ecx
jl 0x1004ab47
cmp esi, ebx
jg 0x1004ab47
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, dword [esp + 0x50]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, ch
mov bh, bh
and ecx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bh, bh
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov cl, cl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov bh, bh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
nop
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov ch, ch
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1004a7d4
mov dword [esp + 0x14], eax
push ecx
pop ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1004a7e9
mov edi, 0xff
nop
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1004a7fd
mov ecx, 0xff
mov bh, bh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1004ab47
cmp ebx, dword [esp + 0x14]
jg 0x1004ab47
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1004ab47
cmp ebx, edi
jg 0x1004ab47
cmp esi, edx
jl 0x1004ab47
cmp esi, ecx
jg 0x1004ab47
mov esi, esi
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1004a94a
cmp dword [esp + 0x6c], ecx
jne 0x1004a94a
cmp ebp, ecx
jne 0x1004a94a
cmp dword [esp + 0x18], ecx
jne 0x1004a94a
cmp eax, ecx
jne 0x1004a94a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004a9d4
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x1004a890
mov bl, bl
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1004a8ba
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1004a8be
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1004a8a6
test eax, eax
je 0x1004a91b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004a90d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004a91b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004a90d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004a91b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004a90d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004a91b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1004a91b
test esi, esi
mov eax, 1
jg 0x1004a91d
or eax, 0xffffffff
jmp 0x1004a91d
xor eax, eax
test eax, eax
jne 0x1004a9d4
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 0x1004a890
jmp 0x1004a9d4
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004a9d4
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 0x1004a9b4
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.1002f630
add esp, 0x14
test eax, eax
je 0x1004a9ab
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1004a974
jmp 0x1004a9b4
cmp esi, dword [esp + 0x94]
jl 0x1004a9d4
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 0x1004a963
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1004ab47
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
mov cl, cl
mov ebp, ebp
mov byte [esp + 0x148], 0x25
mov byte [esp + 0x149], 0x64
mov byte [esp + 0x14a], 0x2c
mov byte [esp + 0x14b], 0x25
mov byte [esp + 0x14c], 0x64
mov byte [esp + 0x14d], 0x2c
mov byte [esp + 0x14e], 0x25
mov byte [esp + 0x14f], 0x64
mov byte [esp + 0x150], al
mov dh, dh
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x154]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100ab7c7
add esp, 0x14
mov esi, esi
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1004aade
push 0x100ee8e5
push 0x100ee8e4
mov ecx, esi
call fcn.100044a0
mov esi, esi
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1004aae8
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100044a0
mov bl, bl
mov dl, dl
mov edi, edi
test edi, edi
jle 0x1004ab47
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1004ab40
mov eax, edx
mov ecx, edi
lea ecx, [ecx]
mov dword [eax], 0xff000000
push ebx
pop ebx
add eax, 4
sub ecx, 1
jne 0x1004ab30
add edx, ebx
sub esi, 1
jne 0x1004ab25
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 0x1004a3c0
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 0x1004a320
jmp 0x1004c4dd
cmp eax, 1
jne 0x1004b408
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1004c4dd
nop
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0x20]
sub edx, dword [esp + 0x94]
mov dword [esp + 0x3c], 0
js 0x1004b3f8
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 0x1004ac50
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 dl, dl
push ecx
pop ecx
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
push edx
pop edx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
nop
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 + 0x58], ecx
mov dl, dl
test eax, 0xff000000
jne 0x1004b3d7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov edi, edi
movzx ebp, ah
mov bh, bh
and eax, 0xff
mov dword [esp + 0x14], eax
push eax
pop eax
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov bh, bh
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
nop
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov ch, ch
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1004ad4f
mov dword [esp + 0x1c], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1004ad66
mov ecx, ebp
nop
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1004ad7f
mov ebp, eax
mov bh, bh
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1004b3d7
cmp eax, dword [esp + 0x1c]
jg 0x1004b3d7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004b3d7
cmp eax, ecx
jg 0x1004b3d7
cmp edi, esi
jl 0x1004b3d7
cmp edi, ebp
jg 0x1004b3d7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx ebp, dh
mov bh, bh
and edx, 0xff
push eax
pop eax
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov bh, bh
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
nop
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov ch, ch
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1004ae5b
mov eax, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1004ae70
mov ebp, 0xff
nop
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1004ae84
mov edx, 0xff
mov bh, bh
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1004b3d7
cmp esi, eax
jg 0x1004b3d7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004b3d7
cmp eax, ebp
jg 0x1004b3d7
cmp edi, ecx
jl 0x1004b3d7
cmp edi, edx
jg 0x1004b3d7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, bh
mov bh, bh
and ebx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov bh, bh
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov cl, cl
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 bh, bh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
nop
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov ch, ch
add eax, ebp
cmp eax, 0xff
jle 0x1004af5c
mov eax, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1004af71
mov edi, 0xff
nop
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1004af85
mov ebx, 0xff
mov bh, bh
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1004b3d7
cmp edx, eax
jg 0x1004b3d7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004b3d7
cmp eax, edi
jg 0x1004b3d7
cmp esi, ecx
jl 0x1004b3d7
cmp esi, ebx
jg 0x1004b3d7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, ch
mov bh, bh
and ecx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bh, bh
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov cl, cl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov bh, bh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
nop
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov ch, ch
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1004b064
mov dword [esp + 0x14], eax
push ecx
pop ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1004b079
mov edi, 0xff
nop
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1004b08d
mov ecx, 0xff
mov bh, bh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1004b3d7
cmp ebx, dword [esp + 0x14]
jg 0x1004b3d7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1004b3d7
cmp ebx, edi
jg 0x1004b3d7
cmp esi, edx
jl 0x1004b3d7
cmp esi, ecx
jg 0x1004b3d7
mov ch, ch
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1004b1da
cmp dword [esp + 0x6c], ecx
jne 0x1004b1da
cmp ebp, ecx
jne 0x1004b1da
cmp dword [esp + 0x18], ecx
jne 0x1004b1da
cmp eax, ecx
jne 0x1004b1da
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004b264
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x1004b120
mov ah, ah
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1004b14a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1004b14e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1004b136
test eax, eax
je 0x1004b1ab
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004b19d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004b1ab
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004b19d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004b1ab
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004b19d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004b1ab
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1004b1ab
test esi, esi
mov eax, 1
jg 0x1004b1ad
or eax, 0xffffffff
jmp 0x1004b1ad
xor eax, eax
test eax, eax
jne 0x1004b264
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 0x1004b120
jmp 0x1004b264
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004b264
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov eax, eax
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1004b244
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.1002f630
add esp, 0x14
test eax, eax
je 0x1004b23b
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1004b204
jmp 0x1004b244
cmp esi, dword [esp + 0x94]
jl 0x1004b264
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 0x1004b1f3
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1004b3d7
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 ebx, ebx
push edx
pop edx
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 esi, esi
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x148]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100ab7c7
add esp, 0x14
push edx
pop edx
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1004b36e
push 0x100ee8e5
push 0x100ee8e4
mov ecx, esi
call fcn.100044a0
mov ebp, ebp
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1004b378
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100044a0
mov bh, bh
mov dl, dl
mov ebx, ebx
test edi, edi
jle 0x1004b3d7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1004b3d0
mov eax, edx
mov ecx, edi
lea ecx, [ecx]
mov dword [eax], 0xff000000
mov bh, bh
add eax, 4
sub ecx, 1
jne 0x1004b3c0
add edx, ebx
sub esi, 1
jne 0x1004b3b5
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 0x1004ac50
sub dword [esp + 0x40], 1
jns 0x1004abb0
jmp 0x1004c4dd
cmp eax, 2
jne 0x1004bc77
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0x24]
sub ecx, dword [esp + 0x98]
mov dword [esp + 0x40], ebx
js 0x1004c4dd
lea esp, [esp]
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1004bc51
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 cl, cl
mov dl, dl
mov edx, dword [esp + 0x84]
mov eax, dword [ecx + edx]
nop
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov ebx, ebx
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
mov ah, ah
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov cl, cl
test eax, 0xff000000
jne 0x1004bc46
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov edi, edi
movzx ebp, ah
mov bh, bh
and eax, 0xff
mov dword [esp + 0x14], eax
push eax
pop eax
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov bh, bh
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
nop
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov ch, ch
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1004b5bf
mov dword [esp + 0x1c], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1004b5d6
mov ecx, ebp
nop
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1004b5ef
mov ebp, eax
mov bh, bh
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1004bc46
cmp eax, dword [esp + 0x1c]
jg 0x1004bc46
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004bc46
cmp eax, ecx
jg 0x1004bc46
cmp edi, esi
jl 0x1004bc46
cmp edi, ebp
jg 0x1004bc46
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx ebp, dh
mov bh, bh
and edx, 0xff
push eax
pop eax
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov bh, bh
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
nop
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov ch, ch
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1004b6cb
mov eax, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1004b6e0
mov ebp, 0xff
nop
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1004b6f4
mov edx, 0xff
mov bh, bh
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1004bc46
cmp esi, eax
jg 0x1004bc46
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004bc46
cmp eax, ebp
jg 0x1004bc46
cmp edi, ecx
jl 0x1004bc46
cmp edi, edx
jg 0x1004bc46
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, bh
mov bh, bh
and ebx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov bh, bh
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov cl, cl
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 bh, bh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
nop
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov ch, ch
add eax, ebp
cmp eax, 0xff
jle 0x1004b7cc
mov eax, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1004b7e1
mov edi, 0xff
nop
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1004b7f5
mov ebx, 0xff
mov bh, bh
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1004bc46
cmp edx, eax
jg 0x1004bc46
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004bc46
cmp eax, edi
jg 0x1004bc46
cmp esi, ecx
jl 0x1004bc46
cmp esi, ebx
jg 0x1004bc46
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, ch
mov bh, bh
and ecx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bh, bh
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov cl, cl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov bh, bh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
nop
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov ch, ch
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1004b8d4
mov dword [esp + 0x14], eax
push ecx
pop ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1004b8e9
mov edi, 0xff
nop
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1004b8fd
mov ecx, 0xff
mov bh, bh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1004bc46
cmp ebx, dword [esp + 0x14]
jg 0x1004bc46
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1004bc46
cmp ebx, edi
jg 0x1004bc46
cmp esi, edx
jl 0x1004bc46
cmp esi, ecx
jg 0x1004bc46
mov ecx, ecx
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1004ba4a
cmp dword [esp + 0x6c], ecx
jne 0x1004ba4a
cmp ebp, ecx
jne 0x1004ba4a
cmp dword [esp + 0x18], ecx
jne 0x1004ba4a
cmp eax, ecx
jne 0x1004ba4a
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004bad4
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x1004b990
mov ecx, ecx
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1004b9ba
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1004b9be
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1004b9a6
test eax, eax
je 0x1004ba1b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004ba0d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004ba1b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004ba0d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004ba1b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004ba0d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004ba1b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1004ba1b
test esi, esi
mov eax, 1
jg 0x1004ba1d
or eax, 0xffffffff
jmp 0x1004ba1d
xor eax, eax
test eax, eax
jne 0x1004bad4
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 0x1004b990
jmp 0x1004bad4
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004bad4
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov ebx, ebx
xor esi, esi
cmp dword [esp + 0x94], esi
jle 0x1004bab4
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.1002f630
add esp, 0x14
test eax, eax
je 0x1004baab
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1004ba74
jmp 0x1004bab4
cmp esi, dword [esp + 0x94]
jl 0x1004bad4
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 0x1004ba63
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1004bc46
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
push eax
pop 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 esi, esi
mov eax, dword [esp + 0xdc]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0xe4]
add ecx, edx
push ecx
push eax
lea ecx, [esp + 0x13c]
push ecx
lea edx, [esp + 0x114]
push edx
call fcn.100ab7c7
add esp, 0x14
mov ah, ah
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1004bbdd
push 0x100ee8e5
push 0x100ee8e4
mov ecx, esi
call fcn.100044a0
nop
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1004bbe7
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100044a0
mov dl, dl
push edx
pop edx
mov edi, edi
test edi, edi
jle 0x1004bc46
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1004bc3f
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
nop
add eax, 4
sub ecx, 1
jne 0x1004bc30
add edx, ebx
sub esi, 1
jne 0x1004bc24
sub dword [esp + 0x3c], 1
jns 0x1004b4c0
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 0x1004b430
jmp 0x1004c4dd
cmp eax, 3
jne 0x1004c4dd
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x24]
sub eax, dword [esp + 0x98]
mov dword [esp + 0x40], eax
js 0x1004c4dd
jmp 0x1004bca0
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x20]
sub eax, dword [esp + 0x94]
mov dword [esp + 0x3c], eax
js 0x1004c4d2
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 eax
pop eax
push ecx
pop ecx
mov eax, dword [esp + 0x84]
mov eax, dword [ecx + eax]
mov edx, edx
mov edx, dword [esp + 0x80]
mov edx, dword [ecx + edx]
mov ch, ch
mov esi, dword [esp + 0x78]
mov ebx, dword [ecx + esi]
push ecx
pop ecx
mov esi, dword [esp + 0x7c]
mov ecx, dword [ecx + esi]
mov dword [esp + 0x58], ecx
mov edi, edi
test eax, 0xff000000
jne 0x1004c4c7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov edi, edi
movzx ebp, ah
mov bh, bh
and eax, 0xff
mov dword [esp + 0x14], eax
push eax
pop eax
movzx eax, byte [esp + 0x6a]
mov dword [esp + 0x50], eax
mov bh, bh
mov eax, dword [esp + 0x68]
movzx esi, ah
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, eax
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov eax, 0
sets al
sub eax, 1
and eax, esi
mov dword [esp + 0x28], eax
nop
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x20]
mov eax, 0
sets al
sub eax, 1
and esi, eax
mov ch, ch
mov eax, dword [esp + 0x34]
add ecx, eax
cmp ecx, 0xff
mov dword [esp + 0x1c], 0xff
jg 0x1004be30
mov dword [esp + 0x1c], ecx
push ecx
pop ecx
mov ecx, dword [esp + 0x18]
add ebp, ecx
cmp ebp, 0xff
mov ecx, 0xff
jg 0x1004be47
mov ecx, ebp
nop
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add eax, ebp
cmp eax, 0xff
mov ebp, 0xff
jg 0x1004be60
mov ebp, eax
mov bh, bh
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x2c]
jl 0x1004c4c7
cmp eax, dword [esp + 0x1c]
jg 0x1004c4c7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004c4c7
cmp eax, ecx
jg 0x1004c4c7
cmp edi, esi
jl 0x1004c4c7
cmp edi, ebp
jg 0x1004c4c7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, edx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx ebp, dh
mov bh, bh
and edx, 0xff
push eax
pop eax
movzx ecx, byte [esp + 0x5e]
mov dword [esp + 0x50], ecx
mov bh, bh
mov ecx, dword [esp + 0x5c]
movzx esi, ch
mov dword [esp + 0x24], esi
mov ebp, ebp
mov edi, ecx
and edi, 0xff
mov cl, cl
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 bh, bh
mov esi, ebp
sub esi, dword [esp + 0x18]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov dword [esp + 0x28], ecx
nop
mov esi, edx
sub esi, dword [esp + 0x20]
mov ecx, 0
sets cl
sub ecx, 1
and ecx, esi
mov ch, ch
mov esi, dword [esp + 0x34]
add eax, esi
cmp eax, 0xff
jle 0x1004bf3c
mov eax, 0xff
push ecx
pop ecx
mov esi, dword [esp + 0x18]
add ebp, esi
cmp ebp, 0xff
jle 0x1004bf51
mov ebp, 0xff
nop
mov esi, dword [esp + 0x20]
add edx, esi
cmp edx, 0xff
jle 0x1004bf65
mov edx, 0xff
mov bh, bh
mov esi, dword [esp + 0x50]
cmp esi, dword [esp + 0x2c]
jl 0x1004c4c7
cmp esi, eax
jg 0x1004c4c7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004c4c7
cmp eax, ebp
jg 0x1004c4c7
cmp edi, ecx
jl 0x1004c4c7
cmp edi, edx
jg 0x1004c4c7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov eax, ebx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, bh
mov bh, bh
and ebx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x62]
mov dword [esp + 0x50], edx
mov bh, bh
mov ecx, dword [esp + 0x60]
movzx edx, ch
mov dword [esp + 0x24], edx
mov ebp, ebp
mov esi, ecx
and esi, 0xff
mov cl, cl
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 bh, bh
mov ecx, edi
sub ecx, dword [esp + 0x18]
mov edx, 0
sets dl
sub edx, 1
and edx, ecx
mov dword [esp + 0x28], edx
nop
mov ecx, ebx
sub ecx, dword [esp + 0x20]
mov edx, 0
sets dl
sub edx, 1
and ecx, edx
mov ch, ch
add eax, ebp
cmp eax, 0xff
jle 0x1004c03d
mov eax, 0xff
push ecx
pop ecx
mov edx, dword [esp + 0x18]
add edi, edx
cmp edi, 0xff
jle 0x1004c052
mov edi, 0xff
nop
mov edx, dword [esp + 0x20]
add ebx, edx
cmp ebx, 0xff
jle 0x1004c066
mov ebx, 0xff
mov bh, bh
mov edx, dword [esp + 0x50]
cmp edx, dword [esp + 0x2c]
jl 0x1004c4c7
cmp edx, eax
jg 0x1004c4c7
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x28]
jl 0x1004c4c7
cmp eax, edi
jg 0x1004c4c7
cmp esi, ecx
jl 0x1004c4c7
cmp esi, ebx
jg 0x1004c4c7
mov ebx, ebx
mov ch, ch
push eax
pop eax
nop
mov edi, edi
mov ecx, dword [esp + 0x58]
mov eax, ecx
shr eax, 0x10
and eax, 0xff
mov edi, edi
movzx edi, ch
mov bh, bh
and ecx, 0xff
push eax
pop eax
movzx edx, byte [esp + 0x66]
mov dword [esp + 0x50], edx
mov bh, bh
mov edx, dword [esp + 0x64]
movzx esi, dh
mov dword [esp + 0x24], esi
mov ebp, ebp
mov esi, edx
and esi, 0xff
mov cl, cl
mov edx, eax
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x2c], ebx
mov bh, bh
mov edx, edi
sub edx, dword [esp + 0x18]
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x28], ebx
nop
mov edx, ecx
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
sub ebx, 1
and edx, ebx
mov ch, ch
add eax, ebp
cmp eax, 0xff
mov dword [esp + 0x14], 0xff
jg 0x1004c145
mov dword [esp + 0x14], eax
push ecx
pop ecx
mov eax, dword [esp + 0x18]
add edi, eax
cmp edi, 0xff
jle 0x1004c15a
mov edi, 0xff
nop
mov eax, dword [esp + 0x20]
add ecx, eax
cmp ecx, 0xff
jle 0x1004c16e
mov ecx, 0xff
mov bh, bh
mov ebx, dword [esp + 0x50]
cmp ebx, dword [esp + 0x2c]
jl 0x1004c4c7
cmp ebx, dword [esp + 0x14]
jg 0x1004c4c7
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x28]
jl 0x1004c4c7
cmp ebx, edi
jg 0x1004c4c7
cmp esi, edx
jl 0x1004c4c7
cmp esi, ecx
jg 0x1004c4c7
nop
xor ecx, ecx
cmp dword [esp + 0x74], ecx
jne 0x1004c2ba
cmp dword [esp + 0x6c], ecx
jne 0x1004c2ba
cmp ebp, ecx
jne 0x1004c2ba
cmp dword [esp + 0x18], ecx
jne 0x1004c2ba
cmp eax, ecx
jne 0x1004c2ba
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004c350
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
jmp 0x1004c200
mov esi, esi
mov eax, dword [esp + 0x94]
add eax, eax
add eax, eax
cmp eax, 4
mov ecx, edi
mov edx, ebp
jb 0x1004c22a
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x1004c22e
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x1004c216
test eax, eax
je 0x1004c28b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004c27d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004c28b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004c27d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004c28b
movzx esi, byte [edx]
movzx ebx, byte [ecx]
sub esi, ebx
jne 0x1004c27d
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x1004c28b
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x1004c28b
test esi, esi
mov eax, 1
jg 0x1004c28d
or eax, 0xffffffff
jmp 0x1004c28d
xor eax, eax
test eax, eax
jne 0x1004c350
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 0x1004c200
jmp 0x1004c350
cmp dword [esp + 0x98], ecx
mov dword [esp + 0x1c], ecx
jle 0x1004c350
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 0x1004c330
mov edi, dword [esp + 0x14]
jmp 0x1004c2f0
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.1002f630
add esp, 0x14
test eax, eax
je 0x1004c327
add esi, 1
add edi, 4
cmp esi, dword [esp + 0x94]
jl 0x1004c2f0
jmp 0x1004c330
cmp esi, dword [esp + 0x94]
jl 0x1004c350
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 0x1004c2d7
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x1c], edi
jne 0x1004c4c7
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 cl, cl
mov ah, ah
mov cl, cl
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 eax, 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.100ab7c7
add esp, 0x14
mov ah, ah
mov esi, dword [esp + 0xe4]
mov eax, dword [esi + 0x10]
sub eax, dword [esi + 0x14]
je 0x1004c45a
push 0x100ee8e5
push 0x100ee8e4
mov ecx, esi
call fcn.100044a0
mov dl, dl
lea eax, [esp + 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1004c464
sub eax, edx
lea ecx, [esp + eax + 0x104]
push ecx
lea edx, [esp + 0x108]
push edx
mov ecx, esi
call fcn.100044a0
mov eax, eax
push ebx
pop ebx
mov cl, cl
test edi, edi
jle 0x1004c4c7
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov esi, edi
mov edi, dword [esp + 0x94]
test edi, edi
jle 0x1004c4c0
mov eax, edx
mov ecx, edi
lea esp, [esp]
mov dword [eax], 0xff000000
mov dl, dl
add eax, 4
sub ecx, 1
jne 0x1004c4b0
add edx, ebx
sub esi, 1
jne 0x1004c4a1
sub dword [esp + 0x3c], 1
jns 0x1004bd30
sub dword [esp + 0x40], 1
jns 0x1004bca0
mov esi, dword [esp + 0x4c]
cmp dword [esi + 0x10], 0
jne 0x1004c4f7
mov eax, dword [esp + 0xec]
cmp dword [eax + 0x32fc], 0
jne 0x1004c509
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.100aa16b
add esp, 4
mov edi, edi
cmp dword [esi + 0x18], 0
je 0x1004c53a
mov edx, dword [esp + 0x38]
push edx
call fcn.100aa16b
add esp, 4
mov dh, dh
jmp 0x1004c53a
cmp dword [esi + 0x10], 0
jne 0x1004c52f
cmp dword [ebx + 0x32fc], 0
jne 0x1004c53a
push eax
call fcn.100aa16b
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 0x10049e10
pop ebp
mov ecx, dword [esp + 0x150]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100aa646
add esp, 0x148
ret
jmp fcn.1009c45f