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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x154
mov eax, dword [0x6fb4c0]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
push esi
push edi
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 8]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0xf4], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0xf8], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0xfc], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x100], eax
mov eax, dword [ebp + 0x28]
mov dword [esp + 0xe8], eax
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x48], eax
or eax, 0xffffffff
mov dword [esp + 0xac], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x88], eax
movups xmm2, xmmword [0x6a17c0]
mov ebx, dword [ecx]
mov eax, ebx
shr eax, 0x13
and eax, 1
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x84], eax
mov eax, ebx
shr eax, 0x11
and eax, 1
mov dword [esp + 0x20], edx
mov dword [esp + 0xb0], eax
mov eax, ebx
shr eax, 0x12
and eax, 1
mov dword [esp + 0x90], 0
mov dword [esp + 0xc8], eax
xor eax, 1
mov esi, dword [ebp + 0x10]
mov dword [esp + 0xcc], eax
mov eax, ebx
mov edi, dword [ebp + 0xc]
shr eax, 3
mov dword [esp + 0x108], esi
and eax, 1
mov esi, dword [esi]
mov ecx, dword [edi]
mov dword [esp + 0x104], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x18], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x80], 0xffffffff
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x8c], eax
mov dword [esp + 0xec], 0x8a
mov dword [esp + 0xf0], 0x84
movaps xmmword [esp + 0xd0], xmm2
mov eax, dword [esi]
mov ebx, eax
and ebx, 0xffff0000
movzx edi, ax
cmp dword [esp + 0x48], 0
mov dword [esp + 0x28], ebx
je 0x4e62cb
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x28]
mov edx, dword [esp + 0x18]
lea ecx, [eax + ecx*2]
lea eax, [ecx - 0xc8]
cmp edx, eax
ja 0x4e9262
mov ecx, edx
cmp ecx, dword [esp + 0xbc]
cmovb ecx, dword [esp + 0xbc]
mov dword [esp + 0x18], ecx
cmp ebx, 0x80340000
jb 0x4e627f
cmp ebx, 0x803f0000
jbe 0x4e62c4
sub ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x48]
sar ecx, 1
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jb 0x4e940c
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x48]
mov dword [ecx], eax
cmp eax, 0x10000
ja 0x4e940c
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xbc], ecx
cmp ebx, 0x80340000
jb 0x4e62db
cmp ebx, 0x803f0000
jbe 0x4e6307
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], ecx
test eax, eax
je 0x4e630b
mov edx, dword [esp + 0xac]
mov ebx, 1
cmp dword [esp + 0xc4], 0
cmove edx, ebx
mov dword [esp + 0xac], edx
jmp 0x4e630b
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov dword [esp + 0x4c], 0
xor edx, edx
cmp dword [esp + 0x28], 0x80220000
ja 0x4e7bcd
mov eax, dword [esp + 0x28]
cmp eax, 0x80220000
je 0x4e7bb4
cmp eax, 0x800f0000
ja 0x4e735f
mov ebx, eax
cmp ebx, 0x800f0000
je 0x4e7346
cmp ebx, 0x80070000
ja 0x4e6579
je 0x4e6478
cmp ebx, 0x80030000
ja 0x4e63f3
je 0x4e63a8
cmp ebx, 0x80000000
je 0x4e9305
cmp ebx, 0x80010000
je 0x4e9305
cmp ebx, 0x80020000
jne 0x4e8424
mov ecx, dword [esp + 0x20]
lea ebx, [edx + 1]
mov eax, 0x84
mov dword [esp + 0x34], eax
mov edi, eax
jmp 0x4e7cdb
mov edx, dword [esp + 0x20]
cmp edi, 0xa
jae 0x4e63b9
lea esi, [edx + 0x2c]
lea esi, [esi + edi*4]
jmp 0x4e63c0
add esi, 4
mov dword [esp + 0x1c], esi
mov eax, dword [esi]
mov dword [esp + 0x70], eax
cmp edi, dword [edx + 0x74]
jbe 0x4e7a12
mov dword [edx + 0x54], eax
mov eax, dword [esp + 0x68]
mov dword [eax], 0x73
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
cmp ebx, 0x80040000
je 0x4e7941
cmp ebx, 0x80050000
je 0x4e646c
cmp ebx, 0x80060000
jne 0x4e7ca6
mov eax, 0x76
mov edx, dword [esp + 0x20]
mov word [ecx], ax
mov eax, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xd0]
movzx eax, word [eax + 4]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 8]
mov word [ecx + 4], ax
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 0xc]
mov word [ecx + 6], ax
mov esi, dword [esp + 0x1c]
movzx eax, byte [0x6bf896]
add esi, 0xc
add esi, 4
mov dword [esp + 0x1c], esi
lea ecx, [ecx + eax*2]
mov dword [esp + 0x18], ecx
jmp 0x4e6223
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x4e8430
mov edi, dword [esp + 0x48]
test edi, edi
je 0x4e64a3
mov eax, dword [esi + 0xc]
add esi, 0x10
mov edx, dword [esp + 0x20]
add eax, 5
add dword [edi], eax
add esi, 4
movaps xmm2, xmmword [esp + 0xd0]
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edi, dword [esp + 0x18]
mov eax, 0x77
mov esi, dword [esi + 0xc]
mov ebx, dword [esp + 0x20]
mov word [edi], ax
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 4]
mov word [edi + 2], ax
mov eax, dword [esp + 0x1c]
movzx eax, word [eax + 8]
mov word [edi + 4], ax
mov eax, dword [esp + 0x1c]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x70], edx
lea edx, [eax + edx*2]
movzx eax, word [edx]
add edx, 2
mov word [ecx + 0xa], ax
mov ebx, eax
add ecx, 0xc
mov eax, 0x7d
cmp ebx, 0x7b
mov dword [esp + 0x38], ecx
cmove ebx, eax
mov eax, dword [esp + 0x70]
inc eax
dec esi
mov word [edi + 8], ax
cmp esi, 1
jbe 0x4e6547
movzx edi, word [edx]
cmp edi, ebx
jne 0x4e652a
movzx eax, word [edx + 2]
cmp eax, ebx
jne 0x4e652a
add edx, 4
movzx eax, bx
dec esi
jmp 0x4e652f
add edx, 2
mov eax, edi
mov edi, dword [esp + 0x38]
dec esi
mov word [edi], ax
lea ecx, [edi + 2]
mov dword [esp + 0x38], ecx
cmp esi, 1
ja 0x4e6512
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
xor eax, eax
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx], ax
add ecx, 2
mov eax, ecx
mov dword [esp + 0x18], ecx
sub eax, edi
sar eax, 1
mov word [edi + 6], ax
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp ebx, 0x800b0000
ja 0x4e6647
je 0x4e72e6
cmp ebx, 0x80080000
je 0x4e6621
cmp ebx, 0x80090000
je 0x4e65aa
cmp ebx, 0x800a0000
jmp 0x4e6659
test dword [esp + 0x44], 0x400
je 0x4e65f6
cmp dword [esp + 0x2c], 0xffffffff
jne 0x4e65cb
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x64], 0xfffffffe
mov edx, dword [esp + 0x20]
mov eax, 0x1c
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edx, dword [esp + 0x20]
mov eax, 0x1b
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ebx, dword [esp + 0x20]
mov eax, 0x88
mov word [ecx + 4], di
mov edx, 1
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], eax
mov dword [ebx + 0x78], edi
mov ebx, edx
mov edi, eax
jmp 0x4e7cdb
cmp ebx, 0x800c0000
je 0x4e72e6
cmp ebx, 0x800e0000
jne 0x4e7ca6
mov edi, dword [esi + 4]
xor eax, eax
cmp ebx, 0x800e0000
mov dword [esp + 0x4c], 1
lea ebx, [esi + 4]
sete al
mov dword [esp + 0x30], ebx
mov dword [esp + 0x74], eax
cmp edi, 0x80000000
jae 0x4e67f2
cmp dword [esi + 8], 0x800d0000
lea eax, [esi + 8]
jne 0x4e67f2
cmp dword [esp + 0x28], 0x800a0000
mov dword [esp + 0x1c], eax
je 0x4e8432
mov eax, dword [esp + 0x5c]
mov ebx, dword [esp + 0x2c]
cmp ebx, 0xffffffff
mov edx, dword [esp + 0x84]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, 0xfffffffe
cmove ebx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x78], eax
mov dword [esp + 0x64], ebx
test edx, edx
jne 0x4e66f4
cmp dword [esp + 0xb0], edx
je 0x4e676e
mov ebx, dword [esp + 0x44]
test bl, 8
je 0x4e6775
mov eax, edi
test eax, eax
jns 0x4e6706
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x6a80c8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4e6722
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6ac4c8]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x6a3ebb]
test al, al
je 0x4e6772
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
mov dword [ecx], 0xa000f
movzx eax, al
mov word [ecx + 4], ax
add ecx, 6
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ebx, dword [esp + 0x44]
test bl, 8
mov eax, 0
setne al
add eax, 0x1f
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x18], ecx
test edx, edx
je 0x4e67c7
cmp edi, 0xffff
jbe 0x4e67c7
push ecx
push edi
call fcn.0051fce0
mov ecx, dword [esp + 0x20]
add esp, 8
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add esi, 4
movaps xmm2, xmmword [esp + 0xd0]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], ecx
jmp 0x4e6223
mov edx, dword [esp + 0x20]
mov eax, 1
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx], di
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + eax*2]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp dword [esp + 0x28], 0x800a0000
jne 0x4e68dc
cmp edi, 0x80000000
jae 0x4e68dc
mov edx, dword [esi + 8]
cmp edx, 0x80000000
jae 0x4e68dc
add esi, 0xc
cmp dword [esi], 0x800d0000
jne 0x4e68dc
mov eax, edi
test eax, eax
jns 0x4e6833
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x6a80c8]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4e684f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6ac4c8]
lea eax, [eax + eax*2]
cmp byte [eax*4 + 0x6a3ebb], 0
jne 0x4e68d8
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x4e687a
cmp dword [esp + 0xb0], ecx
je 0x4e688a
cmp edi, 0x7f
jbe 0x4e688a
mov eax, dword [eax*4 + 0x6a3ebc]
add eax, edi
jmp 0x4e689d
cmp edi, 0xff
ja 0x4e68d8
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
movzx eax, byte [eax + edi]
cmp edi, eax
je 0x4e68d8
cmp edx, eax
jne 0x4e68d8
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x1c], esi
test bl, 8
jne 0x4e84d6
or ebx, 8
mov dword [esp + 0xb4], 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0x8c], 1
jmp 0x4e84d6
mov ecx, dword [esp + 0x18]
lea eax, [ecx + 6]
mov dword [esp + 0x1c], ebx
xorps xmm0, xmm0
mov dword [esp + 0x24], eax
xor edx, edx
mov dword [esp + 0x58], 0
movups xmmword [esp + 0x10c], xmm0
xor esi, esi
mov dword [esp + 0x54], edx
movups xmmword [esp + 0x11c], xmm0
mov edi, dword [ebx]
mov dword [esp + 0x34], edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x60], edx
cmp edi, 0x800d0000
je 0x4e6c10
mov eax, ebx
mov ecx, ebx
mov edx, ebx
nop dword [eax]
mov ebx, esi
cmp edi, 0x801c0000
je 0x4e6efd
cmp edi, 0x801d0000
je 0x4e6efd
cmp edi, 0x80050000
jne 0x4e6960
lea ecx, [eax + 4]
mov dword [esp + 0x1c], ecx
mov edi, dword [ecx]
jmp 0x4e6e75
cmp edi, 0x80000000
jb 0x4e6e71
mov eax, edi
and eax, 0xffff0000
cmp eax, 0x80180000
jne 0x4e7ca6
movzx edi, di
inc esi
mov dword [esp + 0x38], esi
lea eax, [edi - 6]
cmp eax, 0xf
ja case.0x4e6992.12
jmp dword [eax*4 + 0x4e9450]
mov edi, dword [esp + 0x88]
lea ebx, [esp + 0x10c]
xor ecx, ecx
lea eax, [edi + 0x5f]
lea edx, [edi + 0x40]
cmp ebx, eax
ja 0x4e69e0
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x4e69e0
nop
mov al, byte [ecx + edi + 0x40]
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x4e69c0
jmp case.0x4e6992.12
movups xmm1, xmmword [edx + ecx]
movups xmm0, xmmword [esp + ecx + 0x10c]
orps xmm1, xmm0
movups xmmword [esp + ecx + 0x10c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jl 0x4e69e0
jmp case.0x4e6992.12
mov edi, dword [esp + 0x88]
lea ebx, [esp + 0x10c]
mov eax, 1
xor ecx, ecx
mov dword [esp + 0x54], eax
lea eax, [edi + 0x5f]
lea edx, [edi + 0x40]
cmp ebx, eax
ja 0x4e6a50
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x4e6a50
mov al, byte [ecx + edi + 0x40]
not al
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x4e6a32
jmp case.0x4e6992.12
movups xmm1, xmmword [edx + ecx]
movups xmm0, xmmword [esp + ecx + 0x10c]
andnps xmm1, xmm2
orps xmm1, xmm0
movups xmmword [esp + ecx + 0x10c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jl 0x4e6a50
jmp case.0x4e6992.12
mov edi, dword [esp + 0x88]
lea ebx, [esp + 0x10c]
xor ecx, ecx
lea eax, [edi + 0xbf]
lea edx, [edi + 0xa0]
cmp ebx, eax
ja 0x4e6ad0
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x4e6ad0
nop dword [eax]
nop word [eax + eax]
mov al, byte [ecx + edi + 0xa0]
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x4e6ab0
jmp case.0x4e6992.12
movups xmm1, xmmword [edx + ecx]
movups xmm0, xmmword [esp + ecx + 0x10c]
orps xmm1, xmm0
movups xmmword [esp + ecx + 0x10c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jl 0x4e6ad0
jmp case.0x4e6992.12
mov edi, dword [esp + 0x88]
lea ebx, [esp + 0x10c]
mov eax, 1
mov dword [esp + 0x54], eax
xor eax, eax
lea ecx, [edi + 0xbf]
lea edx, [edi + 0xa0]
cmp ebx, ecx
ja 0x4e6b50
lea ecx, [esp + 0x12b]
cmp ecx, edx
jb 0x4e6b50
nop dword [eax + eax]
mov cl, byte [eax + edi + 0xa0]
not cl
or byte [esp + eax + 0x10c], cl
inc eax
cmp eax, 0x20
jl 0x4e6b30
jmp case.0x4e6992.12
movups xmm1, xmmword [edx + eax]
movups xmm0, xmmword [esp + eax + 0x10c]
andnps xmm1, xmm2
orps xmm1, xmm0
movups xmmword [esp + eax + 0x10c], xmm1
add eax, 0x10
cmp eax, 0x20
jl 0x4e6b50
jmp case.0x4e6992.12
mov edi, dword [esp + 0x88]
lea ecx, [esp + 0x10c]
xor edx, edx
lea eax, [edi + 0x1f]
cmp ecx, eax
ja 0x4e6ce3
lea eax, [esp + 0x12b]
cmp eax, edi
jb 0x4e6ce3
mov esi, edi
mov eax, ecx
sub esi, eax
lea ecx, [esp + 0x10c]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
or byte [ecx], al
cmp edx, 0x20
jl 0x4e6ba4
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jbe 0x4e6be9
mov edx, dword [esp + 0x48]
mov dword [esp + 0x34], 1
test edx, edx
je 0x4e6be9
sub eax, ecx
mov dword [esp + 0x24], ecx
sar eax, 1
add dword [edx], eax
add ebx, 4
mov eax, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x30], ebx
mov ecx, eax
mov edx, eax
mov edi, dword [ebx]
cmp edi, 0x800d0000
jne 0x4e6930
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x2c]
mov eax, 0xfffffffe
mov ebx, dword [esp + 0x50]
cmp edi, 0xffffffff
mov dword [esp + 0x80], ebx
cmove edi, eax
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edi
je 0x4e726d
mov eax, dword [esp + 0x44]
and eax, 0x20000
jne 0x4e6c66
cmp dword [esp + 0x60], eax
jne 0x4e6c66
test edx, edx
jne 0x4e726d
cmp dword [esp + 0x58], 0
jne 0x4e6c8b
test edx, edx
je 0x4e717d
cmp dword [esp + 0x28], 0x800e0000
je 0x4e717d
test eax, eax
jne 0x4e717d
mov eax, dword [esp + 0x24]
mov ecx, 2
mov word [eax], cx
mov eax, dword [esp + 0x24]
add eax, ecx
cmp dword [esp + 0x84], 0
mov dword [esp + 0x24], eax
je 0x4e715d
push eax
push 0x100
call fcn.0051fce0
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + eax*2]
push eax
push 0x10ffff
mov dword [esp + 0x34], eax
call fcn.0051fce0
mov ecx, dword [esp + 0x34]
add esp, 0x10
lea eax, [ecx + eax*2]
mov dword [esp + 0x24], eax
jmp 0x4e717d
mov ecx, edi
lea eax, [esp + 0x10c]
sub ecx, eax
nop
lea eax, [esp + 0x10c]
add eax, edx
add edx, 0x10
movups xmm1, xmmword [eax + ecx]
movups xmm0, xmmword [eax]
orps xmm1, xmm0
movups xmmword [eax], xmm1
cmp edx, 0x20
jl 0x4e6cf0
jmp case.0x4e6992.12
mov edi, dword [esp + 0x88]
lea ecx, [esp + 0x10c]
mov eax, 1
xor edx, edx
mov dword [esp + 0x54], eax
lea eax, [edi + 0x1f]
cmp ecx, eax
ja 0x4e6d5f
lea eax, [esp + 0x12b]
cmp eax, edi
jb 0x4e6d5f
mov esi, edi
mov eax, ecx
sub esi, eax
lea ecx, [esp + 0x10c]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
not al
or byte [ecx], al
cmp edx, 0x20
jl 0x4e6d44
jmp 0x4e6bb8
mov ecx, edi
lea eax, [esp + 0x10c]
sub ecx, eax
nop word [eax + eax]
lea eax, [esp + 0x10c]
add eax, edx
add edx, 0x10
movups xmm1, xmmword [eax + ecx]
movups xmm0, xmmword [eax]
andnps xmm1, xmm2
orps xmm1, xmm0
movups xmmword [eax], xmm1
cmp edx, 0x20
jl 0x4e6d70
jmp case.0x4e6992.12
push 0xffffffffffffffff
push 0x6bf910
push dword [esp + 0x28]
mov eax, dword [esp + 0x50]
and eax, 0xfffffff7
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x120]
push eax
call fcn.004e5700
mov ebx, dword [esp + 0x34]
add esp, 0x18
movaps xmm2, xmmword [esp + 0xd0]
jmp 0x4e6bc0
push 0x6bf910
push dword [esp + 0x24]
mov eax, dword [esp + 0x4c]
and eax, 0xfffffff7
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x11c]
push eax
call fcn.004e5780
mov ebx, dword [esp + 0x30]
add esp, 0x14
movaps xmm2, xmmword [esp + 0xd0]
jmp 0x4e6bc0
push 0xffffffffffffffff
push 0x6bf960
jmp 0x4e6d9d
push 0x6bf960
jmp 0x4e6dd4
mov eax, dword [esp + 0x30]
xor ecx, ecx
add eax, 4
mov dword [esp + 0x60], 1
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
mov edx, eax
movzx esi, ax
mov eax, dword [esp + 0x24]
shr edx, 0x10
cmp edi, 0x10
setne cl
add ecx, 3
mov word [eax], cx
mov eax, dword [esp + 0x24]
add eax, 2
mov dword [esp + 0x24], eax
mov word [eax], dx
mov eax, dword [esp + 0x24]
add eax, 2
mov dword [esp + 0x24], eax
mov word [eax], si
mov esi, ebx
add dword [esp + 0x24], 2
mov ebx, dword [esp + 0x1c]
jmp 0x4e6bc0
mov ecx, dword [esp + 0x30]
cmp edi, 0xd
je 0x4e6e7f
cmp edi, 0xa
jne 0x4e6e8c
mov edx, dword [esp + 0x20]
or dword [edx + 0x70], 0x800
jmp 0x4e6e90
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
cmp eax, 0x801f0000
je 0x4e6ea4
cmp eax, 0x801e0000
je 0x4e6ea4
push edi
jmp 0x4e6ecf
add ecx, 8
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx]
cmp eax, 0x80050000
jne 0x4e6ebd
lea eax, [ecx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
cmp eax, 0xd
je 0x4e6ec7
cmp eax, 0xa
jne 0x4e6ece
or dword [edx + 0x70], 0x800
push eax
push edi
push edx
push dword [esp + 0x50]
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x120]
push eax
call fcn.004e5850
mov ebx, dword [esp + 0x34]
add esp, 0x18
movaps xmm2, xmmword [esp + 0xd0]
add esi, eax
jmp 0x4e6bc0
xor eax, eax
mov ebx, edx
cmp edi, 0x801d0000
sete al
cmp edi, 0x801c0000
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x44]
cmove ebx, ecx
add ebx, 4
mov dword [esp + 0x1c], ebx
mov edx, dword [ebx]
test al, 8
je 0x4e6f30
xor ecx, ecx
cmp edx, 2
cmovle edx, ecx
test eax, 0x20000
je 0x4e6f5c
mov eax, edx
sub eax, 8
je 0x4e6ff5
sub eax, 1
je 0x4e6ff5
sub eax, 1
je 0x4e6ff5
mov eax, dword [esp + 0x54]
or dword [esp + 0x58], eax
lea ecx, [edx + edx*2]
mov eax, dword [ecx*4 + 0x6a1538]
add eax, dword [esp + 0x88]
mov esi, dword [ecx*4 + 0x6a1540]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x13c], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [ecx*4 + 0x6a153c]
movups xmmword [esp + 0x14c], xmm0
test eax, eax
js 0x4e70d4
mov ecx, dword [esp + 0x88]
lea edx, [ecx + eax]
add eax, 0x1f
add eax, ecx
mov dword [esp + 0x38], edx
xor ecx, ecx
lea edx, [esp + 0x13c]
test esi, esi
js 0x4e7081
cmp edx, eax
mov edx, dword [esp + 0x38]
ja 0x4e7060
lea eax, [esp + 0x15b]
cmp eax, edx
jb 0x4e7060
nop dword [eax]
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x20
jl 0x4e6fe0
jmp 0x4e70da
mov eax, dword [esp + 0x24]
xor ecx, ecx
cmp edi, 0x801d0000
sete cl
add ecx, 3
mov word [eax], cx
mov ecx, dword [esp + 0x24]
add ecx, 2
mov dword [esp + 0x24], ecx
cmp edx, 8
jne 0x4e701f
lea eax, [edx + 6]
jmp 0x4e702a
xor eax, eax
cmp edx, 9
setne al
add eax, 0xf
mov word [ecx], ax
xor ecx, ecx
mov eax, dword [esp + 0x24]
add eax, 2
mov dword [esp + 0x60], 1
mov dword [esp + 0x24], eax
mov word [eax], cx
add dword [esp + 0x24], 2
mov ebx, dword [esp + 0x1c]
jmp 0x4e6bc0
movups xmm0, xmmword [esp + ecx + 0x13c]
movups xmm1, xmmword [edx + ecx]
orps xmm1, xmm0
movups xmmword [esp + ecx + 0x13c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jl 0x4e7060
jmp 0x4e70da
cmp edx, eax
mov edx, dword [esp + 0x38]
ja 0x4e70b0
lea eax, [esp + 0x15b]
cmp eax, edx
jb 0x4e70b0
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x20
jl 0x4e7094
jmp 0x4e70d8
movups xmm1, xmmword [edx + ecx]
movups xmm0, xmmword [esp + ecx + 0x13c]
andnps xmm1, xmm2
andps xmm1, xmm0
movups xmmword [esp + ecx + 0x13c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jl 0x4e70b0
jmp 0x4e70d8
test esi, esi
jns 0x4e70da
neg esi
cmp esi, 1
jne 0x4e70e9
and byte [esp + 0x13d], 0xc3
jmp 0x4e70f6
cmp esi, 2
jne 0x4e70f6
and byte [esp + 0x147], 0x7f
xor eax, eax
cmp edi, 0x801d0000
jne 0x4e7130
movups xmm1, xmmword [esp + eax + 0x13c]
movups xmm0, xmmword [esp + eax + 0x10c]
andnps xmm1, xmm2
orps xmm1, xmm0
movups xmmword [esp + eax + 0x10c], xmm1
add eax, 0x10
cmp eax, 0x20
jl 0x4e7100
mov esi, 1
jmp 0x4e6bc0
movups xmm0, xmmword [esp + eax + 0x10c]
movups xmm1, xmmword [esp + eax + 0x13c]
orps xmm1, xmm0
movups xmmword [esp + eax + 0x10c], xmm1
add eax, 0x10
cmp eax, 0x20
jl 0x4e7130
mov esi, 1
jmp 0x4e6bc0
mov ecx, 0x100
mov word [eax], cx
mov ecx, 0xffff
mov eax, dword [esp + 0x24]
add eax, 2
mov dword [esp + 0x24], eax
mov word [eax], cx
add dword [esp + 0x24], 2
mov eax, dword [esp + 0x24]
xor ecx, ecx
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
mov word [eax], cx
mov eax, 0x70
add dword [esp + 0x24], 2
mov word [ebx], ax
xor eax, eax
cmp edi, 0x800e0000
sete al
cmp dword [esp + 0x60], 0
movzx eax, ax
mov word [ebx + 4], ax
mov ecx, eax
je 0x4e71c0
or eax, 4
mov word [ebx + 4], ax
movzx ecx, ax
test esi, esi
jle 0x4e723b
or ecx, 2
mov word [ebx + 4], cx
add ebx, 6
mov eax, dword [esp + 0x24]
sub eax, ebx
and eax, 0xfffffffe
push eax
lea eax, [ebx + 0x20]
push ebx
push eax
call fcn.00526230
add esp, 0xc
cmp edi, 0x800e0000
jne 0x4e721b
cmp dword [esp + 0x60], 0
jne 0x4e721b
movaps xmm1, xmmword [esp + 0xd0]
xor eax, eax
nop
movups xmm0, xmmword [esp + eax + 0x10c]
andnps xmm0, xmm1
movups xmmword [esp + eax + 0x10c], xmm0
add eax, 0x10
cmp eax, 0x20
jl 0x4e7200
movups xmm0, xmmword [esp + 0x10c]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esp + 0x11c]
movups xmmword [ebx + 0x10], xmm0
mov ecx, dword [esp + 0x24]
add ecx, 0x20
jmp 0x4e723f
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov eax, ecx
mov edx, dword [esp + 0x20]
sub eax, ebx
movaps xmm2, xmmword [esp + 0xd0]
sar eax, 1
mov word [ebx + 2], ax
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
xor eax, eax
cmp dword [esp + 0x74], edx
setne al
add eax, 0x6e
cmp dword [esp + 0x48], 0
mov word [ecx], ax
jne 0x4e72c3
cmp dword [esp + 0x28], 0x800e0000
jne 0x4e72ab
xor eax, eax
nop
movups xmm0, xmmword [esp + eax + 0x10c]
andnps xmm0, xmm2
movups xmmword [esp + eax + 0x10c], xmm0
add eax, 0x10
cmp eax, 0x20
jl 0x4e7290
movups xmm0, xmmword [esp + 0x10c]
movups xmmword [ecx + 2], xmm0
movups xmm0, xmmword [esp + 0x11c]
movups xmmword [ecx + 0x12], xmm0
mov esi, dword [esp + 0x1c]
add ecx, 0x22
mov edx, dword [esp + 0x20]
add esi, 4
movaps xmm2, xmmword [esp + 0xd0]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edi, dword [esp + 0x2c]
cmp ebx, 0x800c0000
movaps xmm2, xmmword [esp + 0xd0]
mov edx, 0xd
mov eax, 0xa2
mov dword [esp + 0x4c], 1
cmove eax, edx
mov edx, dword [esp + 0x20]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
cmp edi, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x18], ecx
cmove edi, eax
mov eax, dword [esp + 0x6c]
add esi, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ecx, dword [esp + 0x20]
mov eax, 0x8a
mov dword [esp + 0x34], eax
mov ebx, 1
mov edi, eax
jmp 0x4e7cdb
cmp eax, 0x80170000
ja 0x4e7726
je 0x4e76b9
cmp eax, 0x80130000
ja 0x4e7426
je 0x4e74d4
cmp eax, 0x80100000
je 0x4e73fd
cmp eax, 0x80110000
je 0x4e74d4
cmp eax, 0x80120000
jne 0x4e7ca6
mov edi, dword [esp + 0x20]
add esi, 4
mov eax, 0x8a
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], eax
mov edx, dword [esi]
lea eax, [esi + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
cmp eax, dword [edi + 0x74]
ja 0x4e928b
cmp eax, dword [edi + 0x88]
jbe 0x4e73d4
mov dword [edi + 0x88], eax
mov edi, dword [esp + 0x34]
sub edx, 2
mov dword [esp + 0x70], edx
mov edx, 0x90
mov word [ecx + 4], dx
mov edx, 2
mov word [ecx + 6], ax
mov ecx, dword [esp + 0x20]
lea ebx, [edx - 1]
jmp 0x4e7cdb
add esi, 4
mov edi, 0x8a
mov dword [esp + 0x1c], esi
mov edx, 1
mov eax, dword [esi]
mov dword [esp + 0x70], eax
mov eax, 0xa7
mov word [ecx + 4], ax
mov ecx, dword [esp + 0x20]
jmp 0x4e7cdb
cmp eax, 0x80140000
je 0x4e74d4
cmp eax, 0x80150000
je 0x4e747b
cmp eax, 0x80160000
jne 0x4e7ca6
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
and eax, 0x400
movaps xmm2, xmmword [esp + 0xd0]
neg eax
sbb eax, eax
neg eax
add eax, 0x19
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov eax, 0x8a
mov dword [esp + 0x34], eax
cmp dword [esi + 4], edx
jbe 0x4e749e
cmp dword [esi + 8], 0xa
jb 0x4e7497
jne 0x4e74af
cmp dword [esi + 0xc], 0x2a
ja 0x4e74af
mov eax, 0x95
jmp 0x4e74b4
cmp dword [esi + 8], 0xa
jne 0x4e74af
cmp dword [esi + 0xc], 0x2a
mov eax, 0x95
je 0x4e74b4
mov eax, 0x94
mov edi, dword [esp + 0x34]
mov edx, 1
movzx eax, ax
mov ebx, edx
mov word [ecx + 4], ax
add dword [esp + 0x1c], 0xc
mov ecx, dword [esp + 0x20]
jmp 0x4e7cdb
mov edx, dword [esp + 0x20]
add esi, 4
mov eax, 0x8a
mov dword [esp + 0x1c], esi
mov dword [esp + 0x34], eax
lea eax, [esi + 4]
mov ebx, dword [esi]
xor esi, esi
mov edi, dword [edx + 0x64]
mov dword [esp + 0x1c], eax
mov ecx, dword [eax]
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x70], ecx
lea ecx, [eax + ecx*2]
xor eax, eax
mov dword [esp + 0x58], ecx
cmp ax, word [edx + 0x58]
jae 0x4e7540
nop
movzx eax, word [edi + 8]
cmp ebx, eax
jne 0x4e7534
push ebx
push dword [edi]
push ecx
call fcn.0051e0e0
add esp, 0xc
test eax, eax
je 0x4e75da
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
movzx eax, word [edx + 0x58]
inc esi
add edi, 0xc
cmp esi, eax
jb 0x4e7510
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 0x58]
cmp esi, eax
jb 0x4e7633
mov eax, dword [esp + 0x28]
xor esi, esi
cmp eax, 0x80140000
jne 0x4e92dd
lea edx, [esi + 1]
cmp ebx, edx
jbe 0x4e75a1
mov edi, dword [esp + 0x58]
nop dword [eax]
movzx ecx, word [edi + edx*2]
lea esi, [esi + esi*4]
lea esi, [esi - 0x18]
lea esi, [ecx + esi*2]
cmp esi, 0xffff
ja 0x4e92af
inc edx
cmp edx, ebx
jb 0x4e7570
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
cmp eax, 0x80140000
jne 0x4e92dd
cmp esi, dword [edi + 0x74]
ja 0x4e92dd
mov edi, dword [esp + 0x34]
test esi, esi
mov eax, 0xffff
mov edx, 2
cmove esi, eax
mov ecx, 0x92
mov eax, dword [esp + 0x18]
lea ebx, [edx - 1]
mov word [eax + 4], cx
mov ecx, dword [esp + 0x20]
mov word [eax + 6], si
jmp 0x4e7cdb
cmp word [edi + 0xa], 0
jne 0x4e7540
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp dword [esp + 0x28], 0x80130000
sete al
lea eax, [eax*2 + 0x90]
mov word [ecx + 4], ax
mov ax, word [edi + 4]
mov word [ecx + 6], ax
mov eax, dword [edi + 4]
mov edi, dword [esp + 0x20]
cmp eax, dword [edi + 0x88]
jbe 0x4e761e
mov dword [edi + 0x88], eax
mov edi, dword [esp + 0x34]
mov edx, 2
mov ecx, dword [esp + 0x20]
lea ebx, [edx - 1]
jmp 0x4e7cdb
mov esi, dword [esp + 0x18]
xor eax, eax
cmp dword [esp + 0x28], 0x80130000
sete al
xor ecx, ecx
mov dword [esp + 0x90], ecx
lea eax, [eax*2 + 0x90]
mov word [esi + 4], ax
xor eax, eax
mov dword [esp + 0x38], eax
cmp dword [esp + 0x48], eax
jne 0x4e7698
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x38]
push edi
mov edi, dword [esp + 0x5c]
push ecx
push eax
lea eax, [esp + 0x9c]
push eax
push ebx
push edi
call fcn.004e9940
add esp, 0x18
test eax, eax
je 0x4e9437
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x90]
inc word [esi + 4]
mov edx, 3
mov edi, dword [esp + 0x34]
mov word [esi + 6], cx
mov ecx, dword [esp + 0x20]
mov word [esi + 8], ax
lea ebx, [edx - 2]
jmp 0x4e7cdb
mov edi, dword [esp + 0x2c]
mov eax, 0xfffffffe
mov ebx, dword [esp + 0x50]
cmp edi, 0xffffffff
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
cmove edi, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x44]
shr eax, 5
and eax, 1
mov dword [esp + 0x2c], edi
or eax, 0xc
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x5c]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x4c], 1
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp eax, 0x801b0000
ja 0x4e792b
je 0x4e78d5
cmp eax, 0x80180000
je 0x4e776d
cmp eax, 0x80190000
je 0x4e9305
cmp eax, 0x801a0000
jne 0x4e7ca6
mov ecx, dword [esp + 0x20]
mov eax, 0x86
mov dword [esp + 0x34], eax
mov ebx, 1
mov edi, eax
jmp 0x4e7cdb
mov ebx, dword [esp + 0x2c]
cmp edi, 5
jbe 0x4e7792
cmp edi, 0x17
jae 0x4e7792
cmp ebx, 0xffffffff
mov dword [esp + 0x4c], 1
mov eax, 0xfffffffe
cmove ebx, eax
mov dword [esp + 0x2c], ebx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x80], eax
cmp edi, 0xf
je 0x4e7845
cmp edi, 0x10
je 0x4e7845
mov edx, dword [esp + 0x20]
cmp word [edx + 0x5e], 0
jbe 0x4e77df
cmp edi, 3
jne 0x4e77df
mov eax, dword [edx]
test byte [eax + 0x24], 0x40
je 0x4e9367
cmp edi, 0xe
jne 0x4e77ed
or dword [edx + 0x70], 0x400000
jmp 0x4e780f
cmp edi, 5
je 0x4e77fc
cmp edi, 4
je 0x4e77fc
cmp edi, 1
jne 0x4e780f
cmp dword [edx + 0xac], 0
jne 0x4e780f
mov dword [edx + 0xac], 1
cmp dword [esp + 0x84], 0
jne 0x4e7823
cmp edi, 0xe
jne 0x4e7823
mov edi, 0xd
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx], di
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
add esi, 4
mov dword [esp + 0x1c], esi
mov eax, dword [esi]
mov ecx, eax
shr ecx, 0x10
movzx edx, ax
cmp edi, 0x10
jne 0x4e788e
test ecx, ecx
jne 0x4e788e
mov ecx, dword [esp + 0x18]
mov eax, 0xd
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ebx, dword [esp + 0x18]
xor eax, eax
movaps xmm2, xmmword [esp + 0xd0]
cmp edi, 0x10
sete al
add eax, 0xf
mov word [ebx], ax
add ebx, 2
mov dword [esp + 0x18], ebx
mov word [ebx], cx
mov ecx, ebx
add ecx, 2
mov word [ecx], dx
add ecx, 2
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov eax, dword [esp + 0xe4]
add esi, 4
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
mov dword [esp + 0x1c], esi
mov ebx, dword [esi]
mov dword [eax], ebx
mov eax, ebx
shr eax, 0x12
and eax, 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0xc8], eax
xor eax, 1
mov dword [esp + 0xcc], eax
mov eax, ebx
shr eax, 3
and eax, 1
add esi, 4
mov dword [esp + 0x8c], eax
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp eax, 0x80200000
je 0x4e7b3b
cmp eax, 0x80210000
jne 0x4e7ca6
mov edi, dword [esp + 0x20]
add esi, 4
mov dword [esp + 0x1c], esi
xor edx, edx
mov dword [esp + 0x38], edx
mov ecx, dword [esi]
lea eax, [esi + 4]
mov ebx, dword [edi + 0x64]
mov dword [esp + 0x1c], eax
mov esi, dword [eax]
mov eax, dword [edi + 0x1c]
xor edi, edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], ecx
lea eax, [eax + esi*2]
xor esi, esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x20]
cmp dx, word [eax + 0x58]
jae 0x4e938c
movzx eax, word [ebx + 8]
cmp ecx, eax
jne 0x4e79ee
push ecx
push dword [ebx]
push dword [esp + 0x60]
call fcn.0051e0e0
add esp, 0xc
test eax, eax
jne 0x4e79e6
cmp dword [esp + 0x28], 0x80210000
movzx edx, word [ebx + 0xa]
mov edi, dword [ebx + 4]
mov dword [esp + 0x38], edx
je 0x4e7a8d
mov ecx, edi
mov eax, 1
shl eax, cl
cmp edi, 0x20
mov ecx, 1
cmovae eax, ecx
mov ecx, dword [esp + 0x20]
or dword [ecx + 0x8c], eax
cmp edi, dword [ecx + 0x88]
jbe 0x4e79ea
mov dword [ecx + 0x88], edi
jmp 0x4e79ea
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x20]
inc esi
add ebx, 0xc
movzx eax, word [eax + 0x58]
cmp esi, eax
jb 0x4e7984
test edi, edi
je 0x4e9388
test edx, edx
jne 0x4e7a9a
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x2c], 0xffffffff
jne 0x4e7a29
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x64], 0xfffffffe
test byte [esp + 0x44], 8
mov eax, 0
mov ecx, dword [esp + 0x18]
setne al
add eax, 0x71
mov word [ecx], ax
mov eax, 1
mov word [ecx + 2], di
add ecx, 4
mov dword [esp + 0x18], ecx
cmp edi, 0x20
jae 0x4e7a5d
mov ecx, edi
shl eax, cl
mov ecx, dword [esp + 0x18]
or dword [edx + 0x8c], eax
cmp edi, dword [edx + 0x88]
jbe 0x4e865a
mov esi, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xd0]
add esi, 4
mov dword [edx + 0x88], edi
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
jmp 0x4e7b55
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x60], edx
cmp dword [esp + 0x48], ecx
jne 0x4e7ade
push dword [esp + 0x20]
lea eax, [esp + 0x3c]
push dword [esp + 0x6c]
push eax
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x64]
push dword [esp + 0x6c]
call fcn.004e9940
add esp, 0x18
test eax, eax
je 0x4e9437
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0x2c]
mov eax, 0xfffffffe
mov ebx, dword [esp + 0x18]
cmp edi, 0xffffffff
movaps xmm2, xmmword [esp + 0xd0]
cmove edi, eax
test byte [esp + 0x44], 8
mov eax, 0
mov dword [esp + 0x2c], edi
setne al
add eax, 0x73
mov word [ebx], ax
mov word [ebx + 2], dx
add ebx, 4
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
mov word [ebx], cx
mov ecx, ebx
mov esi, dword [esp + 0x1c]
add ecx, 2
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edx, dword [esp + 0x20]
add esi, 4
mov dword [esp + 0x1c], esi
mov eax, dword [esi]
mov dword [esp + 0x70], eax
cmp edi, dword [edx + 0x74]
ja 0x4e63cf
movaps xmm2, xmmword [esp + 0xd0]
mov eax, 0x75
mov word [ecx], ax
mov eax, 0xfffffffe
mov word [ecx + 2], di
add ecx, 4
mov edi, dword [esp + 0x2c]
cmp edi, 0xffffffff
mov esi, dword [esp + 0x1c]
cmove edi, eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x6c]
add esi, 4
mov dword [esp + 0x94], 0
mov dword [edx + 0xb8], 1
mov dword [esp + 0x2c], edi
mov dword [esp + 0x78], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov eax, 0x85
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x20]
mov ebx, 1
mov edi, eax
jmp 0x4e7cdb
mov edi, dword [esp + 0x28]
cmp edi, 0x80310000
ja 0x4e8203
je 0x4e81ef
cmp edi, 0x802a0000
ja 0x4e8165
je 0x4e80bd
cmp edi, 0x80260000
ja 0x4e7c86
je 0x4e7c7f
cmp edi, 0x80230000
je 0x4e7c78
cmp edi, 0x80240000
je 0x4e7c29
cmp edi, 0x80250000
jne 0x4e7ca6
mov edi, 0x80
jmp 0x4e7cd3
cmp dword [esi + 4], 0x80190000
jne 0x4e7c71
mov eax, dword [esi + 8]
cmp eax, 0x80340000
jb 0x4e7c43
cmp eax, 0x803f0000
jbe 0x4e7c71
mov edx, dword [esp + 0x20]
mov eax, 0xa2
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edi, 0x7f
jmp 0x4e7cd3
mov edi, 0x7e
jmp 0x4e7cd3
mov edi, 0x81
jmp 0x4e7cd3
cmp edi, 0x80270000
je 0x4e7cce
cmp edi, 0x80280000
je 0x4e7cc7
mov ebx, dword [esp + 0x28]
cmp ebx, 0x80290000
je 0x4e825e
mov eax, dword [esp + 0x68]
mov dword [eax], 0xbd
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov edi, 0x83
jmp 0x4e7cd3
mov edi, 0x82
mov ecx, dword [esp + 0x20]
inc word [ecx + 0x5e]
mov eax, dword [esp + 0x18]
inc word [ecx + 0x5c]
mov dword [esp + 0x74], 0
mov word [eax], di
add dword [esp + 0x1c], 4
cmp dword [esp + 0x48], 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x98]
cmove eax, dword [esp + 0x74]
push eax
push ecx
push dword [esp + 0xf0]
mov esi, dword [ecx + 0xa8]
lea eax, [esp + 0xa8]
push eax
lea eax, [esp + 0xb8]
mov dword [esp + 0xa8], 0
push eax
lea eax, [esp + 0xb8]
push eax
lea eax, [esp + 0xd8]
push eax
push edx
push dword [esp + 0x88]
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x70]
call fcn.004e95a0
add esp, 0x30
mov dword [esp + 0x90], eax
test eax, eax
je 0x4e9437
mov edx, dword [esp + 0x20]
mov ecx, 0xffff
add word [edx + 0x5c], cx
test ebx, ebx
je 0x4e7d9f
cmp edi, 0x8a
je 0x4e7db7
mov ecx, dword [esp + 0x4c]
test eax, eax
mov eax, 1
cmovg ecx, eax
mov dword [esp + 0x4c], ecx
mov ecx, 0xffff
lea eax, [edi - 0x7e]
cmp eax, 5
ja 0x4e7dab
add word [edx + 0x5e], cx
cmp edi, 0x8a
jne 0x4e7ed3
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4e7edb
mov ecx, dword [esp + 0x18]
xor edx, edx
nop dword [eax]
movzx eax, word [ecx + 2]
inc edx
cmp word [ecx + eax*2], 0x79
lea ecx, [ecx + eax*2]
jne 0x4e7dd0
mov ecx, dword [esp + 0x18]
mov eax, 0xa7
cmp word [ecx + 4], ax
jne 0x4e7e24
cmp edx, 1
jg 0x4e93b4
mov edx, dword [esp + 0x20]
mov eax, 0x94
movaps xmm2, xmmword [esp + 0xd0]
mov word [ecx + 4], ax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp edx, 2
jg 0x4e93e0
cmp edx, 1
jne 0x4e7e82
mov edx, dword [esp + 0x40]
mov eax, 0xfffffffe
mov ebx, dword [esp + 0x2c]
mov ecx, eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x94], 0
jmp 0x4e7fa4
cmp dword [esp + 0x90], 0
jle 0x4e7f38
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x80], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x94], 0
jmp 0x4e7f96
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4e7f3c
mov edi, dword [esp + 0x48]
mov ecx, 0x7fffffeb
mov esi, dword [esp + 0x98]
mov edx, dword [edi]
sub ecx, edx
lea eax, [esi - 4]
cmp ecx, eax
jb 0x4e940c
mov ecx, dword [esp + 0x18]
lea eax, [esi - 4]
movaps xmm2, xmmword [esp + 0xd0]
add eax, edx
mov edx, 2
mov dword [edi], eax
mov word [ecx + 6], dx
mov edx, dword [esp + 0x20]
mov dword [ecx + 2], 0x790002
add ecx, 8
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
cmp edi, 0xa7
je 0x4e865a
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x94], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
cmp edi, 0x84
jb 0x4e8043
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
cmp ebx, 0xffffffff
jne 0x4e7fe8
cmp ecx, ebx
je 0x4e7fe8
cmp ecx, 0xfffffffe
jae 0x4e7fd6
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x94], 1
mov dword [esp + 0x64], 0xfffffffe
jmp 0x4e800b
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x64], 0xfffffffe
jmp 0x4e800b
cmp ecx, 0xfffffffe
jae 0x4e800b
cmp eax, 0xfffffffe
jb 0x4e8014
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xa8], eax
mov eax, ecx
or eax, esi
mov dword [esp + 0x9c], eax
cmp eax, 0xfffffffe
jae 0x4e8652
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xa8]
add esi, 4
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp edi, 0x7e
je 0x4e805c
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
cmp edi, 0x82
jne 0x4e865a
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
cmp edx, 0xfffffffe
jae 0x4e8656
cmp dword [esp + 0xa4], 0xfffffffe
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
jae 0x4e8656
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xa8]
add esi, 4
movaps xmm2, xmmword [esp + 0xd0]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc4], 1
mov ecx, dword [edx + 0x60]
mov dword [edx + 0xb0], 1
test ecx, ecx
je 0x4e811c
nop dword [eax]
mov ax, word [ecx + 6]
cmp ax, word [edx + 0x5e]
jb 0x4e811c
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4e80f7
add dword [eax], 3
jmp 0x4e8116
mov edx, dword [esp + 0x18]
mov eax, 0xa5
mov word [edx], ax
mov ax, word [ecx + 4]
mov word [edx + 2], ax
add edx, 4
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x20]
mov ecx, dword [ecx]
test ecx, ecx
jne 0x4e80e0
mov ecx, dword [esp + 0x18]
xor ax, ax
cmp ax, word [edx + 0x5e]
sbb eax, eax
neg eax
add eax, 0xa3
mov word [ecx], ax
add ecx, 2
cmp dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x18], ecx
jne 0x4e865a
mov esi, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xd0]
add esi, 4
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ebx, dword [esp + 0x28]
cmp ebx, 0x802e0000
ja 0x4e8194
je 0x4e81a8
cmp ebx, 0x802b0000
je 0x4e81b8
cmp ebx, 0x802c0000
je 0x4e81b8
cmp ebx, 0x802d0000
jne 0x4e7ca6
jmp 0x4e825e
cmp ebx, 0x802f0000
je 0x4e81f3
cmp ebx, 0x80300000
jne 0x4e7ca6
mov edx, dword [esp + 0x20]
mov dword [edx + 0xb4], 1
jmp 0x4e81bc
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
lea eax, [ebx + 0x7fd70000]
shr eax, 0x10
mov ax, word [eax*4 + 0x6a1338]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [eax + 0xb4], 1
jmp 0x4e825e
mov ebx, dword [esp + 0x28]
cmp ebx, 0x80390000
ja 0x4e83d8
je 0x4e83c9
cmp ebx, 0x80350000
ja 0x4e83a9
je 0x4e8247
cmp ebx, 0x80320000
je 0x4e8377
cmp ebx, 0x80330000
je 0x4e8253
cmp ebx, 0x80340000
jne 0x4e7ca6
xor edi, edi
mov ebx, 0x10000
jmp 0x4e8684
mov eax, dword [esp + 0x20]
or dword [eax + 0x70], 0x1000
lea eax, [ebx + 0x7fd70000]
xor esi, esi
shr eax, 0x10
mov dword [esp + 0x38], esi
mov ax, word [eax*4 + 0x6a1338]
mov word [ecx], ax
add ecx, 2
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x1c], eax
mov ebx, dword [eax]
mov dword [esp + 0x40], ecx
add ecx, 2
mov dword [esp + 0x18], ecx
test ebx, ebx
jle 0x4e8348
cmp dword [esp + 0x84], edx
je 0x4e8306
add eax, 4
lea ecx, [esp + 0x12c]
push ecx
mov dword [esp + 0x20], eax
push dword [eax]
call fcn.0051fce0
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4e82cf
add dword [eax], edi
mov ecx, dword [esp + 0x18]
jmp 0x4e82fb
lea esi, [edi + edi]
push esi
lea eax, [esp + 0x130]
push eax
push dword [esp + 0x20]
call fcn.00526230
mov ecx, dword [esp + 0x24]
add esp, 0xc
add ecx, esi
mov esi, dword [esp + 0x38]
add esi, edi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], esi
sub ebx, 1
je 0x4e8348
mov eax, dword [esp + 0x1c]
jmp 0x4e82a4
mov edi, dword [esp + 0x48]
nop word [eax + eax]
add eax, 4
mov dword [esp + 0x1c], eax
mov cx, word [eax]
mov word [esp + 0x12c], cx
test edi, edi
je 0x4e832e
inc dword [edi]
mov ecx, dword [esp + 0x18]
jmp 0x4e8343
mov eax, dword [esp + 0x18]
mov word [eax], cx
mov ecx, eax
mov eax, dword [esp + 0x1c]
add ecx, 2
mov dword [esp + 0x18], ecx
inc esi
sub ebx, 1
jne 0x4e8310
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
mov word [eax], si
xor eax, eax
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov edx, dword [esp + 0x20]
mov eax, 0x9e
movaps xmm2, xmmword [esp + 0xd0]
or dword [edx + 0x70], 0x1000
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp ebx, 0x80360000
je 0x4e8247
cmp ebx, 0x80370000
je 0x4e83c9
cmp ebx, 0x80380000
jne 0x4e7ca6
mov edi, 1
mov ebx, 0x10000
jmp 0x4e8684
cmp ebx, 0x803d0000
ja 0x4e840c
je 0x4e8672
cmp ebx, 0x803a0000
je 0x4e8402
cmp ebx, 0x803b0000
je 0x4e8402
cmp ebx, 0x803c0000
jne 0x4e7ca6
xor edi, edi
lea ebx, [edi + 1]
jmp 0x4e8684
cmp ebx, 0x803e0000
je 0x4e8672
cmp ebx, 0x803f0000
je 0x4e8672
cmp ebx, 0x80000000
jae 0x4e7ca6
mov edi, dword [esi]
mov dword [esp + 0x4c], 1
cmp dword [esp + 0x84], edx
jne 0x4e8450
cmp dword [esp + 0xb0], edx
je 0x4e84ef
test byte [esp + 0x44], 8
je 0x4e84cf
mov eax, edi
mov ebx, 0x80
cdq
idiv ebx
movzx eax, word [eax*2 + 0x6a80c8]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6ac4c8]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x6a3ebb]
test al, al
je 0x4e84cf
mov edx, dword [esp + 0x20]
mov dword [ecx], 0xa0010
movzx eax, al
mov word [ecx + 4], ax
add ecx, 6
cmp dword [esp + 0x2c], 0xffffffff
mov dword [esp + 0x18], ecx
jne 0x4e865a
mov esi, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xd0]
add esi, 4
mov dword [esp + 0x64], 0xfffffffe
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x4e84ef
lea eax, [esp + 0x12c]
push eax
push edi
call fcn.0051fce0
add esp, 8
mov ebx, eax
jmp 0x4e84fc
mov ebx, 1
mov word [esp + 0x12c], di
test byte [esp + 0x44], 8
lea esi, [ebx + ebx]
mov ecx, dword [esp + 0x18]
mov eax, 0
setne al
add eax, 0x1d
push esi
mov word [ecx], ax
lea eax, [esp + 0x130]
add ecx, 2
push eax
push ecx
mov dword [esp + 0x24], ecx
call fcn.00526230
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov ax, word [esp + 0x12c]
add ecx, esi
mov dword [esp + 0x18], ecx
cmp ax, 0xd
je 0x4e854d
cmp ax, 0xa
jne 0x4e855a
mov edx, dword [esp + 0x20]
or dword [edx + 0x70], 0x800
jmp 0x4e855e
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
cmp edi, 0xffffffff
jne 0x4e85ce
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0x64], 0xfffffffe
mov dword [esp + 0x80], esi
cmp ebx, 1
je 0x4e85a3
cmp dword [esp + 0x8c], 0
je 0x4e85a3
mov dword [esp + 0x50], 0xfffffffe
mov dword [esp + 0x2c], 0xfffffffe
jmp 0x4e8615
movzx eax, ax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2c], eax
cmp ebx, 1
je 0x4e8615
movzx esi, word [ecx - 2]
mov eax, dword [edx + 0xa8]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], eax
jmp 0x4e8615
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], eax
cmp ebx, 1
je 0x4e85fc
cmp dword [esp + 0x8c], 0
jne 0x4e8615
mov ebx, dword [edx + 0xa8]
movzx eax, word [ecx - 2]
or ebx, dword [esp + 0x8c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], ebx
cmp dword [esp + 0xb4], 0
je 0x4e865a
mov esi, dword [esp + 0x1c]
and dword [esp + 0x44], 0xfffffff7
add esi, 4
movaps xmm2, xmmword [esp + 0xd0]
mov dword [esp + 0x8c], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x1c], esi
jmp 0x4e6223
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xd0]
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x4e6223
add esi, 4
mov dword [esp + 0x1c], esi
mov edi, dword [esi]
add esi, 4
mov dword [esp + 0x1c], esi
mov ebx, dword [esi]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], edi
test eax, eax
je 0x4e86b1
test edi, edi
je 0x4e86b1
xor ecx, ecx
mov dword [esp + 0x4c], 1
cmp edi, ebx
mov eax, 2
cmove eax, ecx
mov dword [esp + 0xa0], eax
jmp 0x4e86f3
xor ecx, ecx
mov eax, 2
cmp edi, ebx
mov dword [esp + 0x4c], ecx
cmove eax, ecx
mov dword [esp + 0xa0], eax
test edi, edi
jne 0x4e86f3
mov eax, dword [esp + 0x78]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0x28]
cmp eax, 0x803b0000
ja 0x4e871e
je 0x4e873c
cmp eax, 0x80380000
ja 0x4e8717
je 0x4e873c
cmp eax, 0x80350000
je 0x4e873c
cmp eax, 0x80360000
jmp 0x4e8731
cmp eax, 0x80390000
jmp 0x4e8731
cmp eax, 0x803c0000
je 0x4e874a
cmp eax, 0x803e0000
je 0x4e873c
cmp eax, 0x803f0000
je 0x4e874a
mov eax, dword [esp + 0xc8]
jmp 0x4e8751
mov dword [esp + 0x28], edx
mov dword [esp + 0x60], 1
jmp 0x4e8759
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x60], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
movzx edx, word [eax]
movzx ecx, dx
add ecx, 0xffffffe3
mov dword [esp + 0x54], edx
cmp ecx, 0x85
ja case.0x4e8781.33
movzx eax, byte [ecx + 0x4e94a8]
jmp dword [eax*4 + 0x4e9490]
cmp ebx, 1
jne 0x4e8795
cmp edi, ebx
je case.0x4e8781.162
cmp dword [esp + 0x84], 0
mov edi, dword [ecx*4 + 0x6fb308]
je 0x4e87f3
mov eax, dword [esp + 0x18]
mov ecx, 0xfc00
mov ax, word [eax - 2]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4e87f3
mov eax, dword [esp + 0x18]
lea ecx, [eax - 4]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x58], eax
add eax, eax
push eax
push ecx
lea eax, [esp + 0x134]
push eax
call fcn.00526230
add esp, 0xc
mov dword [esp + 0x34], 0xffffffff
or edx, 0xffffffff
jmp 0x4e8f4a
mov eax, dword [esp + 0x18]
mov dword [esp + 0x58], 1
movzx eax, word [eax - 2]
mov word [esp + 0x12c], ax
mov ecx, eax
cmp edx, 0x1e
ja 0x4e8f2d
cmp dword [esp + 0x30], 1
jbe 0x4e8f2d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], ecx
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x50], eax
cmp edx, 0x1e
jne 0x4e8f2d
or eax, 1
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x50], eax
or edx, 0xffffffff
jmp 0x4e8f4a
test ebx, ebx
jne 0x4e8864
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
jmp 0x4e923d
cmp ebx, 1
jne 0x4e8871
cmp edi, ebx
je case.0x4e8781.162
test edi, edi
jne 0x4e88be
cmp ebx, 0x10000
jne 0x4e889b
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add eax, 0x62
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x4e8ed4
cmp ebx, 1
jne 0x4e88e9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add eax, 0x66
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x4e8ed4
cmp edi, 1
jne 0x4e88e9
cmp ebx, 0x10000
jne 0x4e88e9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add eax, 0x64
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x4e8ed4
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
add eax, 0x68
mov word [ecx], ax
xor eax, eax
mov word [ecx + 2], di
add ecx, 4
cmp ebx, 0x10000
cmove ebx, eax
mov word [ecx], bx
add ecx, 2
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x4e8ed4
cmp ebx, 1
jne 0x4e8930
cmp edi, ebx
jne 0x4e8930
cmp dword [esp + 0x60], 0
je case.0x4e8781.162
test edi, edi
je 0x4e89de
cmp edi, 1
jne 0x4e8949
cmp ebx, 0x10000
je 0x4e89de
mov ecx, edi
cmp edi, ebx
jne 0x4e8952
lea ecx, [edi - 1]
cmp dword [esp + 0x48], 0
je 0x4e899a
mov eax, ecx
lea edi, [ecx + ecx]
mov ecx, 2
imul ecx
test edx, edx
jg 0x4e940c
jl 0x4e897a
cmp eax, 0x7fffffff
ja 0x4e940c
mov edx, dword [esp + 0x48]
mov eax, 0x7fffffeb
mov ecx, dword [edx]
sub eax, ecx
cmp eax, edi
jb 0x4e940c
lea eax, [edi + ecx]
mov edi, dword [esp + 0x30]
mov dword [edx], eax
jmp 0x4e89c0
test ecx, ecx
jle 0x4e89c0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [edx], eax
mov eax, edx
add edx, 4
sub ecx, 1
jne 0x4e89a6
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], edx
cmp edi, ebx
je 0x4e8ed0
cmp ebx, 0x10000
je 0x4e89d6
sub ebx, edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], 0
mov ecx, dword [esp + 0x3c]
mov edx, 0x86
mov dword [esp + 0x90], 0xffffffff
mov eax, dword [ecx]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ecx], 0x40086
add eax, 8
mov dword [ecx + 8], 0x40079
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x98], 6
jmp 0x4e8a28
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
sub eax, ecx
xor edi, edi
mov ecx, dword [esp + 0x30]
sar eax, 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x58], edi
cmp ebx, 1
jne 0x4e8a51
cmp ecx, ebx
jne 0x4e8a51
cmp dword [esp + 0x60], edi
je case.0x4e8781.162
cmp dx, word [esp + 0xec]
jne 0x4e8a83
mov edx, dword [esp + 0x3c]
mov ecx, 0x94
cmp word [edx + 4], cx
mov ecx, dword [esp + 0x30]
jne 0x4e8aa0
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
jne case.0x4e8781.162
mov eax, dword [esp + 0x38]
jmp 0x4e8aa0
cmp dx, word [esp + 0xf0]
mov edx, dword [esp + 0x3c]
jae 0x4e8aa0
cmp ebx, 0x10000
jne 0x4e8aa0
lea ebx, [ecx + 1]
mov dword [esp + 0x34], ebx
test ecx, ecx
jne 0x4e8b63
cmp ebx, 1
jbe 0x4e8af6
cmp ebx, 0x10000
je 0x4e8af6
add eax, eax
push eax
push edx
lea eax, [edx + 6]
push eax
call fcn.00526230
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov edx, dword [esp + 0x28]
add dword [esp + 0x18], 6
dec ebx
lea edi, [ecx + 4]
lea eax, [edx + 0x96]
mov word [ecx], ax
lea eax, [ecx + 6]
mov dword [ecx + 2], 0x86
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
jmp 0x4e8c2c
add eax, eax
lea esi, [edx + 2]
push eax
push edx
push esi
call fcn.00526230
mov ecx, dword [esp + 0x24]
add esp, 0xc
add ecx, 2
mov dword [esp + 0x18], ecx
test ebx, ebx
jne 0x4e8b2e
mov eax, dword [esp + 0x3c]
mov edx, 0xa6
mov dword [esp + 0x3c], esi
mov word [eax], dx
mov esi, dword [esp + 0x1c]
jmp 0x4e923d
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x58], edi
mov dword [esp + 0x3c], esi
lea eax, [edx + 0x96]
mov word [edi], ax
xor edi, edi
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], eax
cmp ebx, 0x10000
je 0x4e8b5a
dec ebx
mov esi, dword [esp + 0x1c]
jmp 0x4e8c2c
cmp ecx, 1
jbe 0x4e8c1a
cmp dword [esp + 0x48], edi
je 0x4e8bc3
lea eax, [ecx - 1]
mov edx, eax
imul edx, dword [esp + 0x98]
mov dword [esp + 0x74], edx
mul dword [esp + 0x98]
test edx, edx
jg 0x4e940c
jl 0x4e8b9f
cmp eax, 0x7fffffff
ja 0x4e940c
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x74]
mov ecx, dword [eax]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jb 0x4e940c
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x48]
mov dword [ecx], eax
jmp 0x4e8c16
cmp dword [esp + 0x94], edi
je 0x4e8be3
cmp dword [esp + 0x50], 0xfffffffe
jb 0x4e8be3
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x50], ebx
mov edi, dword [esp + 0x18]
lea esi, [eax + eax]
lea ebx, [ecx - 1]
nop dword [eax]
push esi
push edx
push edi
call fcn.00526230
mov edx, dword [esp + 0x48]
add esp, 0xc
add edi, esi
sub ebx, 1
jne 0x4e8bf0
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
cmp ebx, 0x10000
je 0x4e8d7d
sub ebx, ecx
cmp ebx, 0x10000
je 0x4e8d7d
cmp dword [esp + 0x48], 0
je 0x4e8ce1
test ebx, ebx
je 0x4e8ce1
mov eax, dword [esp + 0x98]
add eax, 5
mov ecx, eax
imul ecx, ebx
mul ebx
sub ecx, 4
test edx, edx
jg 0x4e940c
jl 0x4e8c74
cmp eax, 0x7fffffff
ja 0x4e940c
mov ebx, dword [esp + 0x48]
mov eax, 0x7fffffeb
mov edx, dword [ebx]
sub eax, edx
cmp eax, ecx
jb 0x4e940c
lea eax, [ecx + edx]
mov dword [ebx], eax
mov ecx, dword [esp + 0x18]
test edi, edi
je 0x4e8ed4
mov ebx, 0x79
nop
mov edx, ecx
mov esi, ecx
sub edx, edi
sar edx, 1
inc edx
lea eax, [edx + edx]
sub esi, eax
movzx eax, word [esi + 2]
mov word [ecx], bx
test eax, eax
je 0x4e8d62
neg eax
lea edi, [edi + eax*2]
movzx eax, dx
mov word [ecx + 2], ax
add ecx, 4
mov dword [esp + 0x18], ecx
mov word [esi + 2], ax
test edi, edi
jne 0x4e8ca0
mov esi, dword [esp + 0x1c]
jmp 0x4e8ed4
cmp ebx, 1
jb 0x4e8c8e
mov esi, dword [esp + 0x38]
lea eax, [edx + 0x96]
mov ecx, dword [esp + 0x18]
add esi, esi
mov dword [esp + 0x74], eax
nop word [eax + eax]
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x18], ecx
cmp ebx, 1
je 0x4e8d34
mov eax, 0x86
mov word [ecx], ax
test edi, edi
jne 0x4e8d1f
xor eax, eax
jmp 0x4e8d26
lea eax, [ecx + 2]
sub eax, edi
sar eax, 1
lea edi, [ecx + 2]
mov word [ecx + 2], ax
add ecx, 4
mov dword [esp + 0x18], ecx
push esi
push dword [esp + 0x40]
push ecx
call fcn.00526230
mov ecx, dword [esp + 0x24]
dec ebx
mov eax, dword [esp + 0x80]
add ecx, esi
add esp, 0xc
mov dword [esp + 0x18], ecx
cmp ebx, 1
jae 0x4e8d00
mov esi, dword [esp + 0x1c]
jmp 0x4e8c92
movzx eax, dx
mov word [ecx + 2], ax
add ecx, 4
mov word [esi + 2], ax
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x4e8ed4
mov esi, dword [esp + 0x18]
mov edx, 0x84
movzx eax, word [esi - 2]
lea edi, [esi - 4]
add eax, eax
sub edi, eax
movzx ecx, word [edi]
mov eax, ecx
cmp cx, dx
jne 0x4e8db3
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0x4e8ec1
mov eax, 0x86
mov word [edi], ax
mov edx, eax
jmp 0x4e8dc7
mov ecx, 0x85
mov edx, eax
cmp ax, cx
je 0x4e8ec1
mov ebx, dword [esp + 0x60]
cmp dword [esp + 0x48], 0
movzx ecx, dx
jne 0x4e8e0b
cmp dword [esp + 0x90], 0
movzx eax, dx
jge 0x4e8de7
lea eax, [edx + 5]
mov word [edi], ax
movzx eax, ax
mov edx, 0x8a
movzx ecx, ax
cmp ax, dx
jne 0x4e8e10
movzx eax, word [edi + 2]
mov ecx, edx
cmp word [edi + eax*2], 0x78
lea eax, [edx + 5]
je 0x4e8e15
mov word [edi], ax
mov ecx, eax
jmp 0x4e8e15
mov edx, 0x8a
mov eax, 0x8f
test ebx, ebx
je 0x4e8eb1
cmp cx, dx
je 0x4e8e3c
cmp cx, ax
je 0x4e8e3c
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x18]
mov word [edi], ax
mov eax, 0x7c
mov word [esi - 4], ax
jmp 0x4e8e8c
mov esi, dword [esp + 0x18]
sub esi, edi
sar esi, 1
lea eax, [esi + esi]
push eax
lea eax, [edi + 4]
push edi
push eax
call fcn.00526230
mov ecx, dword [esp + 0x24]
mov edx, 0x8a
add esp, 0xc
mov eax, 0x8c
cmp word [edi], dx
mov edx, 0x87
cmove eax, edx
mov word [edi], ax
mov eax, 0x7c
mov word [ecx + 4], ax
lea eax, [esi + 2]
mov word [ecx + 6], ax
add ecx, 8
mov dword [esp + 0x18], ecx
mov word [edi + 2], ax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4e8e9c
mov edx, 0x98
mov word [eax], dx
cmp dword [esp + 0x30], 2
mov esi, dword [esp + 0x1c]
jae 0x4e8edf
mov dword [esp + 0x60], 0
jmp 0x4e8ed4
mov eax, dword [esp + 0x28]
add eax, 0x7a
mov word [esi - 4], ax
jmp 0x4e9235
mov eax, dword [esp + 0x28]
add eax, 0x7a
mov word [esi - 4], ax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x60], 0
je 0x4e923d
mov eax, dword [esp + 0x40]
movzx ecx, word [eax]
lea eax, [ecx - 0x1d]
cmp eax, 0x53
ja case.0x4e8ef9.33
movzx eax, byte [eax + 0x4e9544]
jmp dword [eax*4 + 0x4e9530]
cmp edx, 0x17
jae 0x4e942d
cmp ebx, 1
jne 0x4e8f16
cmp edi, ebx
je case.0x4e8781.162
mov dword [esp + 0x58], 0
mov edi, 0x34
cmp edx, 0x10
je 0x4e8f3a
cmp edx, 0xf
je 0x4e8f3a
mov dword [esp + 0x34], 0xffffffff
or edx, 0xffffffff
jmp 0x4e8f4a
mov eax, dword [esp + 0x3c]
movzx edx, word [eax + 2]
movzx eax, word [eax + 4]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x18], eax
test ebx, ebx
je case.0x4e8781.162
add dword [esp + 0x28], edi
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4e8ff5
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
movzx eax, ax
lea ecx, [esi + 2]
mov dword [esp + 0x18], ecx
cmp ebx, 0x10000
jne 0x4e8fce
add eax, 0x21
mov word [esi], ax
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4e9120
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x130]
push eax
push ecx
call fcn.00526230
mov ecx, dword [esp + 0x24]
add esp, 0xc
add ecx, esi
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x1c]
jmp 0x4e8ed4
mov edi, dword [esp + 0x34]
cmp ebx, 1
jne 0x4e8fe3
add eax, 0x25
mov dword [esp + 0x18], ecx
mov word [esi], ax
jmp 0x4e8f96
add eax, 0x27
mov word [esi], ax
mov word [ecx], bx
add ecx, 2
mov dword [esp + 0x18], ecx
jmp 0x4e8f96
cmp eax, 1
jne 0x4e9048
cmp ebx, 0x10000
jne 0x4e901c
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
add eax, 0x23
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x18], ecx
jmp 0x4e8f92
mov dword [esp + 0x18], ecx
cmp ebx, 1
je case.0x4e8781.162
mov eax, dword [esp + 0x28]
add eax, 0x27
mov word [ecx], ax
add ecx, 2
lea eax, [ebx - 1]
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x18], ecx
jmp 0x4e8f92
mov ecx, dword [esp + 0x3c]
lea eax, [edi + 0x29]
mov word [ecx], ax
mov eax, dword [esp + 0x30]
mov word [ecx + 2], ax
add ecx, 4
mov dword [esp + 0x18], ecx
cmp ebx, eax
je 0x4e8f92
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4e90c1
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x130]
push eax
push ecx
call fcn.00526230
mov ecx, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x38]
add ecx, esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x28]
add ecx, 2
movzx eax, ax
cmp ebx, 0x10000
jne 0x4e90e7
mov ebx, dword [esp + 0x18]
add eax, 0x21
mov dword [esp + 0x18], ecx
mov word [ebx], ax
jmp 0x4e8f9a
mov esi, dword [esp + 0x54]
mov word [ecx], si
add ecx, 2
mov dword [esp + 0x18], ecx
test edx, edx
js 0x4e9098
mov edi, dword [esp + 0x34]
mov word [ecx], dx
mov word [ecx + 2], di
add ecx, 4
mov dword [esp + 0x18], ecx
jmp 0x4e909c
sub ebx, dword [esp + 0x30]
cmp ebx, 1
jne 0x4e9103
mov ebx, dword [esp + 0x18]
add eax, 0x25
mov dword [esp + 0x18], ecx
mov word [ebx], ax
jmp 0x4e8f9a
mov edx, dword [esp + 0x18]
add eax, 0x27
mov word [edx], ax
mov edx, dword [esp + 0x38]
mov word [ecx], bx
add ecx, 2
mov dword [esp + 0x18], ecx
jmp 0x4e8f9a
mov word [ecx], si
add ecx, 2
mov dword [esp + 0x18], ecx
test edx, edx
js 0x4e8fc5
mov word [ecx], dx
mov word [ecx + 2], di
add ecx, 4
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x4e8ed4
mov eax, dword [esp + 0x40]
movzx eax, word [eax + 4]
cmp eax, 0x10
je 0x4e9168
cmp eax, 0xf
je 0x4e9168
movzx ecx, byte [ecx + 0x6bf820]
xor eax, eax
add ecx, eax
jmp 0x4e91be
movzx ecx, byte [ecx + 0x6bf820]
mov eax, 2
add ecx, eax
jmp 0x4e91be
cmp dword [esp + 0x84], 0
mov eax, dword [esp + 0x40]
movzx ecx, byte [ecx + 0x6bf820]
lea ecx, [eax + ecx*2]
mov dword [esp + 0x40], ecx
je case.0x4e8ef9.33
mov ax, word [ecx - 2]
mov edx, 0xfc00
and ax, dx
mov edx, 0xd800
cmp ax, dx
jne case.0x4e8ef9.33
lea eax, [ecx + 2]
jmp 0x4e91c5
add dword [esp + 0x40], 0x22
jmp case.0x4e8ef9.33
mov ecx, dword [esp + 0x40]
movzx ecx, word [ecx + 2]
mov eax, dword [esp + 0x40]
lea eax, [eax + ecx*2]
mov dword [esp + 0x40], eax
mov ebx, dword [esp + 0x18]
mov edi, ebx
mov ecx, dword [esp + 0x40]
sub edi, ecx
sar edi, 1
test edi, edi
jle case.0x4e8781.162
movzx eax, word [ecx]
cmp eax, 0x76
jae 0x4e91f5
mov al, byte [eax + 0x6a15e0]
test al, al
je 0x4e91f5
movzx eax, al
mov word [ecx], ax
jmp 0x4e9235
mov ecx, dword [esp + 0x40]
lea eax, [edi + edi]
push eax
push ecx
lea eax, [ecx + 4]
push eax
call fcn.00526230
mov eax, dword [esp + 0x4c]
mov ecx, 0x84
add esp, 0xc
mov word [eax], cx
mov eax, 0x79
lea ecx, [edi + 2]
mov word [ebx + 4], ax
mov word [ebx + 6], cx
add ebx, 8
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], ebx
mov word [eax + 2], cx
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0xa0]
movaps xmm2, xmmword [esp + 0xd0]
or dword [edx + 0xa8], eax
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x4e6223
cmp edx, ecx
mov ecx, dword [esp + 0x68]
sbb eax, eax
and eax, 0x22
add eax, 0x98
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
mov dword [eax], 0x73
xor eax, eax
mov dword [edi + 0x54], edx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x20]
mov dword [eax], 0xa1
mov eax, dword [esp + 0x70]
add eax, edx
mov dword [ebx + 0x54], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
mov dword [eax], 0x73
mov eax, dword [esp + 0x70]
mov dword [edi + 0x54], eax
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0x6c]
mov dword [edx], eax
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x2c]
mov dword [edx], eax
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x5c]
mov dword [edx], eax
mov edx, dword [esp + 0x100]
mov eax, dword [esp + 0x50]
mov dword [edx], eax
mov eax, dword [esp + 0x104]
mov dword [eax], ecx
mov eax, dword [esp + 0x108]
mov dword [eax], esi
mov eax, dword [esp + 0xac]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
mov dword [eax], 0xc7
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x68]
mov dword [ecx], 0x73
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x54], ecx
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x54], ecx
mov eax, dword [esp + 0x68]
mov dword [eax], 0x9a
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x54], ecx
mov eax, dword [esp + 0x68]
mov dword [eax], 0x7f
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
mov dword [eax], 0x78
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
mov dword [eax], 0x6e
mov ecx, dword [esp + 0x15c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00524900
mov esp, ebp
pop ebp
ret