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

Disassembly:
push esi
push edi
push ebp
push ebx
sub esp, 0xc0
mov ecx, esp
and esp, 0xffffffe0
mov dword [esp + 0x70], ecx
mov eax, dword [ecx + 0xd4]
mov ebx, dword [ecx + 0xd8]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], ebx
mov eax, dword [ecx + 0xdc]
mov ebx, dword [ecx + 0xe0]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ebx
mov eax, dword [ecx + 0xe4]
mov ebx, dword [ecx + 0xe8]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], 0x280
mov dword [esp + 0xbc], 0x140
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
mov ebp, dword [esp + 0xb4]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x90], ebp
sub eax, 8
mov dword [esp + 0x60], eax
mov ebx, dword [esp + 0xac]
mov edx, ebx
mov ecx, esi
add ecx, edx
shl edx, 2
mov dword [esp + 0x7c], ecx
add edx, ebx
add ebx, ebx
mov ecx, edx
mov eax, dword [esp + 0xac]
mov dword [esp + 0x78], ecx
sub ecx, ebx
mov dword [esp + 0x74], ecx
mov ebp, dword [esp + 0xac]
mov ecx, dword [esi]
and ecx, 0xff00ff
mov edx, dword [esi + ebp*2]
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4]
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi]
shl edx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp], eax
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esi]
mov edi, dword [esp + 0x8c]
shr ecx, 8
mov edx, dword [esi + ebp*2]
mov edi, dword [edi + 0x720c0]
add esi, 4
shr edx, 8
and ecx, 0xff00ff
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4 - 4]
shr ebx, 8
mov eax, dword [ebp + esi - 4]
shr eax, 8
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi - 4]
shr eax, 8
mov dword [esp + 0x84], edi
shl edx, 3
and eax, 0xff00ff
add eax, eax
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 8], eax
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi]
and ecx, 0xff00ff
mov edx, dword [esi + ebp*2]
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4]
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi]
shl edx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esi]
mov edi, dword [esp + 0x8c]
shr ecx, 8
mov edx, dword [esi + ebp*2]
mov edi, dword [edi]
add esi, 4
shr edx, 8
and ecx, 0xff00ff
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4 - 4]
shr ebx, 8
mov eax, dword [ebp + esi - 4]
shr eax, 8
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi - 4]
shr eax, 8
mov dword [esp + 0x84], edi
shl edx, 3
and eax, 0xff00ff
add eax, eax
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x90]
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
mov bl, byte [ebp + 0x20]
mov eax, 0x90009000
lea edx, [edx*2 + 0x20002000]
lea ebx, [ecx*8 - 0x10001000]
sub edx, ecx
sub eax, ebx
sub edx, edi
mov ebx, dword [esp + 0x18]
sub eax, edx
mov ecx, dword [esp + 0x20]
sub eax, edx
lea ebx, [ebx*2 + 0x20002000]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
mov dword [esp + 0x88], esi
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [esi + 0x26040]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x4c080], ebx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
mov edx, dword [esp + 0x24]
sub ecx, ebx
add eax, eax
sub ecx, ebx
lea edx, [edi + edx + 0x10001000]
lea edi, [edi*8 + 0x20002000]
sub edx, eax
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x720c0]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0x20
cmp esi, eax
jge 0x14f7cb1d
mov ecx, dword [esi]
and ecx, 0xff00ff
mov edx, dword [esi + ebp*2]
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4]
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi]
shl edx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esi]
mov edi, dword [esp + 0x8c]
shr ecx, 8
mov edx, dword [esi + ebp*2]
mov edi, dword [edi + 0x20]
add esi, 4
shr edx, 8
and ecx, 0xff00ff
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4 - 4]
shr ebx, 8
mov eax, dword [ebp + esi - 4]
shr eax, 8
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi - 4]
shr eax, 8
mov dword [esp + 0x84], edi
shl edx, 3
and eax, 0xff00ff
add eax, eax
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp + 0x20]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x30]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x38]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp + 0x40]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [esi + 0x720e0]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0x2c]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 0x44]
sub ecx, ebx
mov eax, dword [esp + 0x3c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x20]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0x40
cmp esi, eax
jge 0x14f7cb1d
mov ecx, dword [esi]
and ecx, 0xff00ff
mov edx, dword [esi + ebp*2]
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4]
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi]
shl edx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp], eax
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esi]
mov edi, dword [esp + 0x8c]
shr ecx, 8
mov edx, dword [esi + ebp*2]
mov edi, dword [edi + 0x26060]
add esi, 4
shr edx, 8
and ecx, 0xff00ff
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4 - 4]
shr ebx, 8
mov eax, dword [ebp + esi - 4]
shr eax, 8
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi - 4]
shr eax, 8
mov dword [esp + 0x84], edi
shl edx, 3
and eax, 0xff00ff
add eax, eax
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 8], eax
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp + 0x40]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x50]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x58]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [eax + esi + 0x720e0]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0x4c]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 4]
sub ecx, ebx
mov eax, dword [esp + 0x5c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x26060]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0
cmp esi, eax
jge 0x14f7cb1d
mov ecx, dword [esi]
and ecx, 0xff00ff
mov edx, dword [esi + ebp*2]
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4]
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi]
shl edx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
mov ecx, dword [esi]
mov edi, dword [esp + 0x8c]
shr ecx, 8
mov edx, dword [esi + ebp*2]
mov edi, dword [edi + 0x4c0a0]
add esi, 4
shr edx, 8
and ecx, 0xff00ff
and edx, 0xff00ff
mov ebx, dword [esi + ebp*4 - 4]
shr ebx, 8
mov eax, dword [ebp + esi - 4]
shr eax, 8
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x74]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
shl ecx, 3
mov eax, dword [ebp + esi - 4]
shr eax, 8
mov dword [esp + 0x84], edi
shl edx, 3
and eax, 0xff00ff
add eax, eax
sub ebx, eax
lea eax, [edi*2]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x58]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x10]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x18]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp + 0x20]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [ebx + ebp + 0x20]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0xc]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 0x24]
sub ecx, ebx
mov eax, dword [esp + 0x1c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x4c0a0]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
jmp 0x14f7bfa9
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x94]
mov ebp, esi
add esi, esp
sub ebp, 0x20
jae 0x14f7cb39
mov ebp, 0x40
add ebp, esp
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebp
nop
mov eax, dword [ebp + 0x10]
mov edx, dword [esi + 8]
mov ebx, dword [ebp + 0x18]
mov ecx, dword [esi]
add ebx, ebx
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esi + 0x10]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esi + 0x18]
lea ecx, [edx + ecx*8 - 0x20002000]
add edi, edi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
sub ebx, edi
lea edi, [edx + edi*4 - 0x20002000]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ebp, dword [esp + 0x90]
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
shr ecx, 0x10
mov edi, edx
shl edi, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 3
or ebx, edi
and ebx, 0xfff8ffff
and ecx, 0xffff1fff
shr ebx, 3
mov dword [eax + esi + 0x4c080], ecx
mov ebp, dword [esp + 0x98]
mov dword [esi + 0x4c080], ebx
mov esi, dword [esp + 0x9c]
nop
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x14]
mov ebx, dword [ebp + 0x1c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esi + 0xc]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov eax, dword [esi + 0x1c]
lea edx, [edi*2 + 0x10001000]
add eax, eax
sub ecx, ebx
lea edi, [edi*8 + 0x20002000]
sub edx, eax
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xb8]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0xb8]
shl eax, 1
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0xac]
add edi, eax
mov dword [esp + 0x68], edi
lea ebp, [ebp + ecx*2]
lea esi, [esi + ebx*2]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x64], esi
add ebx, esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x90], ebp
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp], eax
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x720c0]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
shr ebx, 8
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
shr eax, 8
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shr eax, 8
mov dword [esp + 0x84], edi
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 8], eax
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
shr ebx, 8
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
shr eax, 8
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shr eax, 8
mov dword [esp + 0x84], edi
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x90]
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
mov bl, byte [ebp + 0x20]
mov eax, 0x90009000
lea edx, [edx*2 + 0x20002000]
lea ebx, [ecx*8 - 0x10001000]
sub edx, ecx
sub eax, ebx
sub edx, edi
mov ebx, dword [esp + 0x18]
sub eax, edx
mov ecx, dword [esp + 0x20]
sub eax, edx
lea ebx, [ebx*2 + 0x20002000]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
mov dword [esp + 0x88], esi
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [esi + 0x26040]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x4c080], ebx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
mov edx, dword [esp + 0x24]
sub ecx, ebx
add eax, eax
sub ecx, ebx
lea edx, [edi + edx + 0x10001000]
lea edi, [edi*8 + 0x20002000]
sub edx, eax
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x720c0]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0x20
cmp esi, eax
jge 0x14f7e01b
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x20]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
shr ebx, 8
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
shr eax, 8
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shr eax, 8
mov dword [esp + 0x84], edi
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp + 0x20]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x30]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x38]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp + 0x40]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [esi + 0x720e0]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0x2c]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 0x44]
sub ecx, ebx
mov eax, dword [esp + 0x3c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x20]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0x40
cmp esi, eax
jge 0x14f7e01b
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp], eax
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x26060]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
shr ebx, 8
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
shr eax, 8
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shr eax, 8
mov dword [esp + 0x84], edi
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 8], eax
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp + 0x40]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x50]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x58]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [eax + esi + 0x720e0]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0x4c]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 4]
sub ecx, ebx
mov eax, dword [esp + 0x5c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x26060]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0
cmp esi, eax
jge 0x14f7e01b
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x4c0a0]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [esi + ebp*2]
shr ebx, 8
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
mov eax, dword [ebp + esi]
shr eax, 8
lea edi, [edx + ecx + 0x4000400]
and eax, 0xff00ff
mov ebp, dword [esp + 0x78]
add eax, eax
lea ebx, [edx + ebx + 0x4000400]
sub edi, eax
mov eax, dword [ebp + esi]
shr eax, 8
mov dword [esp + 0x84], edi
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x58]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x10]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x18]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp + 0x20]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [ebx + ebp + 0x20]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0xc]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 0x24]
sub ecx, ebx
mov eax, dword [esp + 0x1c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x4c0a0]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
jmp 0x14f7d39c
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x94]
mov ebp, esi
add esi, esp
sub ebp, 0x20
jae 0x14f7e037
mov ebp, 0x40
add ebp, esp
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebp
nop
mov eax, dword [ebp + 0x10]
mov edx, dword [esi + 8]
mov ebx, dword [ebp + 0x18]
mov ecx, dword [esi]
add ebx, ebx
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esi + 0x10]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esi + 0x18]
lea ecx, [edx + ecx*8 - 0x20002000]
add edi, edi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
sub ebx, edi
lea edi, [edx + edi*4 - 0x20002000]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ebp, dword [esp + 0x90]
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
shr ecx, 0x10
mov edi, edx
shl edi, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 3
or ebx, edi
and ebx, 0xfff8ffff
and ecx, 0xffff1fff
shr ebx, 3
mov dword [eax + esi + 0x4c080], ecx
mov ebp, dword [esp + 0x98]
mov dword [esi + 0x4c080], ebx
mov esi, dword [esp + 0x9c]
nop
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x14]
mov ebx, dword [ebp + 0x1c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esi + 0xc]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov eax, dword [esi + 0x1c]
lea edx, [edi*2 + 0x10001000]
add eax, eax
sub ecx, ebx
lea edi, [edi*8 + 0x20002000]
sub edx, eax
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xb8]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0x64]
mov eax, dword [esp + 0xb8]
shl eax, 1
mov ecx, dword [esp + 0xbc]
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
mov ebx, dword [esp + 0xac]
add edi, eax
mov dword [esp + 0x68], edi
lea ebp, [ebp + ecx*2]
lea esi, [esi + ebx*4]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x64], esi
add ebx, esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x90], ebp
mov ecx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
sub eax, 4
mov dword [esp + 0x60], eax
jg 0x14f7cdce
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x78]
lea edi, [edx + ecx + 0x4000400]
and ebx, 0xff00ff
add ebx, ebx
mov eax, dword [ebp + esi]
sub edi, ebx
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp], eax
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x720c0]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
shr ebx, 8
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
add ebx, ebx
sub edi, ebx
mov eax, dword [ebp + esi]
shr eax, 8
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
mov dword [esp + 0x84], edi
nop
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 8], eax
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x78]
lea edi, [edx + ecx + 0x4000400]
and ebx, 0xff00ff
add ebx, ebx
mov eax, dword [ebp + esi]
sub edi, ebx
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
shr ebx, 8
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
add ebx, ebx
sub edi, ebx
mov eax, dword [ebp + esi]
shr eax, 8
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
mov dword [esp + 0x84], edi
nop
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x90]
mov edx, dword [esp + 8]
mov ecx, dword [esp]
mov edi, dword [esp + 0x10]
mov bl, byte [ebp + 0x20]
mov eax, 0x90009000
lea edx, [edx*2 + 0x20002000]
lea ebx, [ecx*8 - 0x10001000]
sub edx, ecx
sub eax, ebx
sub edx, edi
mov ebx, dword [esp + 0x18]
sub eax, edx
mov ecx, dword [esp + 0x20]
sub eax, edx
lea ebx, [ebx*2 + 0x20002000]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
mov dword [esp + 0x88], esi
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [esi + 0x26040]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov dword [esi + 0x4c080], ebx
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x1c]
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
mov edx, dword [esp + 0x24]
sub ecx, ebx
add eax, eax
sub ecx, ebx
lea edx, [edi + edx + 0x10001000]
lea edi, [edi*8 + 0x20002000]
sub edx, eax
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x720c0]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0x20
cmp esi, eax
jge 0x14f7f4d0
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x78]
lea edi, [edx + ecx + 0x4000400]
and ebx, 0xff00ff
add ebx, ebx
mov eax, dword [ebp + esi]
sub edi, ebx
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x20]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
shr ebx, 8
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
add ebx, ebx
sub edi, ebx
mov eax, dword [ebp + esi]
shr eax, 8
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
mov dword [esp + 0x84], edi
nop
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x18]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp + 0x20]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x30]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x38]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp + 0x40]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [esi + 0x720e0]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0x2c]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 0x44]
sub ecx, ebx
mov eax, dword [esp + 0x3c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x20]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0x40
cmp esi, eax
jge 0x14f7f4d0
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x78]
lea edi, [edx + ecx + 0x4000400]
and ebx, 0xff00ff
add ebx, ebx
mov eax, dword [ebp + esi]
sub edi, ebx
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp], eax
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 4], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x26060]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
shr ebx, 8
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
add ebx, ebx
sub edi, ebx
mov eax, dword [ebp + esi]
shr eax, 8
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
mov dword [esp + 0x84], edi
nop
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 8], eax
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp + 0x40]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x50]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x58]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [eax + esi + 0x720e0]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x3c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0x4c]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 4]
sub ecx, ebx
mov eax, dword [esp + 0x5c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x26060]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x94], 0
cmp esi, eax
jge 0x14f7f4d0
mov eax, dword [esi]
and eax, 0xff00ff
mov ecx, dword [esi + ebp*2]
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
and ebx, 0xff00ff
mov edx, dword [esi + ebp*4]
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x78]
lea edi, [edx + ecx + 0x4000400]
and ebx, 0xff00ff
add ebx, ebx
mov eax, dword [ebp + esi]
sub edi, ebx
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
add eax, eax
mov dword [esp + 0x84], edi
sub ebx, eax
mov eax, dword [esp + 0x80]
shl edx, 3
sub eax, ecx
mov ecx, ebx
sub ebx, edx
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], ecx
mov eax, dword [esi]
mov edi, dword [esp + 0x8c]
shr eax, 8
mov ecx, dword [esi + ebp*2]
mov edi, dword [edi + 0x4c0a0]
shr ecx, 8
and eax, 0xff00ff
and ecx, 0xff00ff
mov ebx, dword [ebp + esi]
shr ebx, 8
mov edx, dword [esi + ebp*4]
shr edx, 8
and ebx, 0xff00ff
lea eax, [ecx + eax + 0x4000400]
mov ebp, dword [esp + 0x74]
add ebx, ebx
and edx, 0xff00ff
sub eax, ebx
mov ebx, dword [ebp + esi]
shr ebx, 8
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x80], eax
and ebx, 0xff00ff
lea edi, [edx + ecx + 0x4000400]
add ebx, ebx
sub edi, ebx
mov eax, dword [ebp + esi]
shr eax, 8
lea ebx, [edx*2 + 0x4000400]
shl ecx, 3
and eax, 0xff00ff
shl edx, 3
add eax, eax
sub ebx, eax
mov eax, dword [esp + 0x80]
sub eax, ecx
mov ecx, ebx
mov dword [esp + 0x84], edi
nop
sub ebx, edx
add esi, 4
add eax, edi
add ebx, edi
mov edi, eax
mov edx, ebx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ebx, 0xffff0000
or eax, edx
or ebx, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0xac]
mov eax, edi
mov edx, ecx
shl edx, 0x10
and eax, 0xffff
shr edi, 0x10
and ecx, 0xffff0000
or eax, edx
or ecx, edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
mov ebp, dword [esp + 0x90]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x58]
mov cl, byte [ebp + 0x20]
add ebx, ebx
mov ecx, dword [esp]
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esp + 0x10]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esp + 0x18]
lea ecx, [edx + ecx*8 - 0x20002000]
mov dword [esp + 0x88], esi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
mov ecx, dword [esp + 0x20]
sub ebx, edi
lea edi, [edx + edi*8 - 0x20002000]
sub ebx, ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
mov bl, byte [ebx + ebp + 0x20]
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
mov edi, edx
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and ebx, 0xffff
or ecx, edx
or ebx, edi
shr ecx, 3
and ebx, 0xfff8ffff
shr ebx, 3
and ecx, 0xffff1fff
mov dword [eax + esi + 0x4c080], ecx
mov ebp, eax
mov dword [esi + 0x4c080], ebx
nop
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esp + 0xc]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov edx, dword [esp + 0x24]
sub ecx, ebx
mov eax, dword [esp + 0x1c]
lea edx, [edi + edx + 0x10001000]
add eax, eax
sub edx, eax
lea edi, [edi*8 + 0x20002000]
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov edx, dword [ebp + esi + 0x4c0a0]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
jmp 0x14f7e887
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x94]
mov ebp, esi
add esi, esp
sub ebp, 0x20
jae 0x14f7f4ec
mov ebp, 0x40
add ebp, esp
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebp
nop
mov eax, dword [ebp + 0x10]
mov edx, dword [esi + 8]
mov ebx, dword [ebp + 0x18]
mov ecx, dword [esi]
add ebx, ebx
lea edx, [edx*2 + 0x20002000]
mov edi, dword [esi + 0x10]
sub edx, ecx
lea eax, [ecx + eax + 0x60006000]
sub edx, edi
sub eax, ebx
mov ebx, dword [esi + 0x18]
lea ecx, [edx + ecx*8 - 0x20002000]
add edi, edi
lea ebx, [ebx*2 + 0x20002000]
sub eax, ecx
sub ebx, edi
lea edi, [edx + edi*4 - 0x20002000]
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], ebx
add ebx, edi
mov edi, 0x80008000
sub edi, ebx
mov ebp, dword [esp + 0x90]
mov ecx, eax
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
mov ebx, eax
mov edx, ecx
shr ebx, 6
and edx, 0xffc0ffff
shr edx, 6
and ebx, 0xffff03ff
shr eax, 4
mov esi, dword [esp + 0x8c]
add ebx, 0x800080
and eax, 0xffff0fff
mov byte [ebp], bl
mov dword [esi], eax
shr ebx, 0x10
mov eax, dword [esp + 0xb8]
mov byte [ebp + 1], bl
mov ebx, dword [esp + 0xbc]
shr ecx, 4
add edx, 0x800080
and ecx, 0xffff0fff
mov byte [ebx + ebp], dl
shr edx, 0x10
mov dword [eax + esi], ecx
mov ecx, dword [esp + 0x80]
mov byte [ebx + ebp + 1], dl
add ebp, 2
mov edx, dword [esp + 0x84]
mov dword [esp + 0x90], ebp
mov ebx, ecx
shr ecx, 0x10
mov edi, edx
shl edi, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 3
or ebx, edi
and ebx, 0xfff8ffff
and ecx, 0xffff1fff
shr ebx, 3
mov dword [eax + esi + 0x4c080], ecx
mov ebp, dword [esp + 0x98]
mov dword [esi + 0x4c080], ebx
mov esi, dword [esp + 0x9c]
nop
mov eax, dword [ebp + 0x14]
mov ecx, dword [esi + 4]
mov edi, dword [esi + 0x14]
mov ebx, dword [ebp + 0x1c]
lea eax, [ecx + eax + 0x10001000]
add ebx, ebx
mov edx, dword [esi + 0xc]
sub eax, ebx
lea ebx, [edi + ecx + 0x10001000]
add edx, edx
lea ecx, [ecx*8 + 0x20002000]
sub ebx, edx
sub ecx, eax
mov eax, dword [esi + 0x1c]
lea edx, [edi*2 + 0x10001000]
add eax, eax
sub ecx, ebx
lea edi, [edi*8 + 0x20002000]
sub edx, eax
sub edi, ebx
mov dword [esp + 0x80], edx
sub edi, edx
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xb8]
mov eax, ecx
mov edx, edi
shr ecx, 0x10
and edx, 0xffff0000
shl edi, 0x10
and eax, 0xffff
or eax, edi
or ecx, edx
shr eax, 3
mov edx, dword [esp + 0x80]
and eax, 0xffff1fff
and ecx, 0xfff8ffff
shr ecx, 3
mov dword [esi + 0x26040], eax
mov edi, edx
mov dword [ebp + esi + 0x26040], ecx
shl edi, 0x10
mov ecx, ebx
shr ecx, 0x10
and edx, 0xffff0000
and ebx, 0xffff
or ecx, edx
shr ecx, 2
add esi, 4
or ebx, edi
and ecx, 0xffff3fff
mov dword [esp + 0x8c], esi
and ebx, 0xfffcffff
shr ebx, 2
mov dword [ebp + esi + 0x720bc], ecx
mov dword [esi + 0x720bc], ebx
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0xac]
mov esp, dword [esp + 0x70]
add esp, 0xc0
pop ebx
pop ebp
pop edi
pop esi
ret