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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x154
mov eax, dword [0x6f9540]
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 [0x69fc00]
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 0x4e64eb
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 0x4e9482
mov ecx, edx
cmp ecx, dword [esp + 0xbc]
cmovb ecx, dword [esp + 0xbc]
mov dword [esp + 0x18], ecx
cmp ebx, 0x80340000
jb 0x4e649f
cmp ebx, 0x803f0000
jbe 0x4e64e4
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 0x4e962c
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x48]
mov dword [ecx], eax
cmp eax, 0x10000
ja 0x4e962c
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xbc], ecx
cmp ebx, 0x80340000
jb 0x4e64fb
cmp ebx, 0x803f0000
jbe 0x4e6527
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], ecx
test eax, eax
je 0x4e652b
mov edx, dword [esp + 0xac]
mov ebx, 1
cmp dword [esp + 0xc4], 0
cmove edx, ebx
mov dword [esp + 0xac], edx
jmp 0x4e652b
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov dword [esp + 0x4c], 0
xor edx, edx
cmp dword [esp + 0x28], 0x80220000
ja 0x4e7ded
mov eax, dword [esp + 0x28]
cmp eax, 0x80220000
je 0x4e7dd4
cmp eax, 0x800f0000
ja 0x4e757f
mov ebx, eax
cmp ebx, 0x800f0000
je 0x4e7566
cmp ebx, 0x80070000
ja 0x4e6799
je 0x4e6698
cmp ebx, 0x80030000
ja 0x4e6613
je 0x4e65c8
cmp ebx, 0x80000000
je 0x4e9525
cmp ebx, 0x80010000
je 0x4e9525
cmp ebx, 0x80020000
jne 0x4e8644
mov ecx, dword [esp + 0x20]
lea ebx, [edx + 1]
mov eax, 0x84
mov dword [esp + 0x34], eax
mov edi, eax
jmp 0x4e7efb
mov edx, dword [esp + 0x20]
cmp edi, 0xa
jae 0x4e65d9
lea esi, [edx + 0x2c]
lea esi, [esi + edi*4]
jmp 0x4e65e0
add esi, 4
mov dword [esp + 0x1c], esi
mov eax, dword [esi]
mov dword [esp + 0x70], eax
cmp edi, dword [edx + 0x74]
jbe 0x4e7c32
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.00524b20
mov esp, ebp
pop ebp
ret
cmp ebx, 0x80040000
je 0x4e7b61
cmp ebx, 0x80050000
je 0x4e668c
cmp ebx, 0x80060000
jne 0x4e7ec6
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 [0x6bdcd6]
add esi, 0xc
add esi, 4
mov dword [esp + 0x1c], esi
lea ecx, [ecx + eax*2]
mov dword [esp + 0x18], ecx
jmp 0x4e6443
add esi, 4
mov dword [esp + 0x1c], esi
jmp 0x4e8650
mov edi, dword [esp + 0x48]
test edi, edi
je 0x4e66c3
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 0x4e6443
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 0x4e6767
movzx edi, word [edx]
cmp edi, ebx
jne 0x4e674a
movzx eax, word [edx + 2]
cmp eax, ebx
jne 0x4e674a
add edx, 4
movzx eax, bx
dec esi
jmp 0x4e674f
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 0x4e6732
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 0x4e6443
cmp ebx, 0x800b0000
ja 0x4e6867
je 0x4e7506
cmp ebx, 0x80080000
je 0x4e6841
cmp ebx, 0x80090000
je 0x4e67ca
cmp ebx, 0x800a0000
jmp 0x4e6879
test dword [esp + 0x44], 0x400
je 0x4e6816
cmp dword [esp + 0x2c], 0xffffffff
jne 0x4e67eb
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 0x4e6443
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 0x4e6443
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 0x4e7efb
cmp ebx, 0x800c0000
je 0x4e7506
cmp ebx, 0x800e0000
jne 0x4e7ec6
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 0x4e6a12
cmp dword [esi + 8], 0x800d0000
lea eax, [esi + 8]
jne 0x4e6a12
cmp dword [esp + 0x28], 0x800a0000
mov dword [esp + 0x1c], eax
je 0x4e8652
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 0x4e6914
cmp dword [esp + 0xb0], edx
je 0x4e698e
mov ebx, dword [esp + 0x44]
test bl, 8
je 0x4e6995
mov eax, edi
test eax, eax
jns 0x4e6926
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x6a6508]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4e6942
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6aa908]
mov ecx, dword [esp + 0x18]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x6a22fb]
test al, al
je 0x4e6992
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 0x4e6443
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 0x4e69e7
cmp edi, 0xffff
jbe 0x4e69e7
push ecx
push edi
call fcn.0051ff00
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 0x4e6443
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 0x4e6443
cmp dword [esp + 0x28], 0x800a0000
jne 0x4e6afc
cmp edi, 0x80000000
jae 0x4e6afc
mov edx, dword [esi + 8]
cmp edx, 0x80000000
jae 0x4e6afc
add esi, 0xc
cmp dword [esi], 0x800d0000
jne 0x4e6afc
mov eax, edi
test eax, eax
jns 0x4e6a53
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x6a6508]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x4e6a6f
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x6aa908]
lea eax, [eax + eax*2]
cmp byte [eax*4 + 0x6a22fb], 0
jne 0x4e6af8
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x4e6a9a
cmp dword [esp + 0xb0], ecx
je 0x4e6aaa
cmp edi, 0x7f
jbe 0x4e6aaa
mov eax, dword [eax*4 + 0x6a22fc]
add eax, edi
jmp 0x4e6abd
cmp edi, 0xff
ja 0x4e6af8
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
movzx eax, byte [eax + edi]
cmp edi, eax
je 0x4e6af8
cmp edx, eax
jne 0x4e6af8
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x1c], esi
test bl, 8
jne 0x4e86f6
or ebx, 8
mov dword [esp + 0xb4], 1
mov dword [esp + 0x44], ebx
mov dword [esp + 0x8c], 1
jmp 0x4e86f6
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 0x4e6e30
mov eax, ebx
mov ecx, ebx
mov edx, ebx
nop dword [eax]
mov ebx, esi
cmp edi, 0x801c0000
je 0x4e711d
cmp edi, 0x801d0000
je 0x4e711d
cmp edi, 0x80050000
jne 0x4e6b80
lea ecx, [eax + 4]
mov dword [esp + 0x1c], ecx
mov edi, dword [ecx]
jmp 0x4e7095
cmp edi, 0x80000000
jb 0x4e7091
mov eax, edi
and eax, 0xffff0000
cmp eax, 0x80180000
jne 0x4e7ec6
movzx edi, di
inc esi
mov dword [esp + 0x38], esi
lea eax, [edi - 6]
cmp eax, 0xf
ja case.0x4e6bb2.12
jmp dword [eax*4 + 0x4e9670]
mov edi, dword [esp + 0x88]
lea ebx, [esp + 0x10c]
xor ecx, ecx
lea eax, [edi + 0x5f]
lea edx, [edi + 0x40]
cmp ebx, eax
ja 0x4e6c00
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x4e6c00
nop
mov al, byte [ecx + edi + 0x40]
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x4e6be0
jmp case.0x4e6bb2.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 0x4e6c00
jmp case.0x4e6bb2.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 0x4e6c70
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x4e6c70
mov al, byte [ecx + edi + 0x40]
not al
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x4e6c52
jmp case.0x4e6bb2.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 0x4e6c70
jmp case.0x4e6bb2.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 0x4e6cf0
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x4e6cf0
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 0x4e6cd0
jmp case.0x4e6bb2.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 0x4e6cf0
jmp case.0x4e6bb2.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 0x4e6d70
lea ecx, [esp + 0x12b]
cmp ecx, edx
jb 0x4e6d70
nop dword [eax + eax]
mov cl, byte [eax + edi + 0xa0]
not cl
or byte [esp + eax + 0x10c], cl
inc eax
cmp eax, 0x20
jl 0x4e6d50
jmp case.0x4e6bb2.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 0x4e6d70
jmp case.0x4e6bb2.12
mov edi, dword [esp + 0x88]
lea ecx, [esp + 0x10c]
xor edx, edx
lea eax, [edi + 0x1f]
cmp ecx, eax
ja 0x4e6f03
lea eax, [esp + 0x12b]
cmp eax, edi
jb 0x4e6f03
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 0x4e6dc4
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jbe 0x4e6e09
mov edx, dword [esp + 0x48]
mov dword [esp + 0x34], 1
test edx, edx
je 0x4e6e09
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 0x4e6b50
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 0x4e748d
mov eax, dword [esp + 0x44]
and eax, 0x20000
jne 0x4e6e86
cmp dword [esp + 0x60], eax
jne 0x4e6e86
test edx, edx
jne 0x4e748d
cmp dword [esp + 0x58], 0
jne 0x4e6eab
test edx, edx
je 0x4e739d
cmp dword [esp + 0x28], 0x800e0000
je 0x4e739d
test eax, eax
jne 0x4e739d
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 0x4e737d
push eax
push 0x100
call fcn.0051ff00
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + eax*2]
push eax
push 0x10ffff
mov dword [esp + 0x34], eax
call fcn.0051ff00
mov ecx, dword [esp + 0x34]
add esp, 0x10
lea eax, [ecx + eax*2]
mov dword [esp + 0x24], eax
jmp 0x4e739d
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 0x4e6f10
jmp case.0x4e6bb2.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 0x4e6f7f
lea eax, [esp + 0x12b]
cmp eax, edi
jb 0x4e6f7f
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 0x4e6f64
jmp 0x4e6dd8
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 0x4e6f90
jmp case.0x4e6bb2.12
push 0xffffffffffffffff
push 0x6bdd50
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.004e5920
mov ebx, dword [esp + 0x34]
add esp, 0x18
movaps xmm2, xmmword [esp + 0xd0]
jmp 0x4e6de0
push 0x6bdd50
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.004e59a0
mov ebx, dword [esp + 0x30]
add esp, 0x14
movaps xmm2, xmmword [esp + 0xd0]
jmp 0x4e6de0
push 0xffffffffffffffff
push 0x6bdda0
jmp 0x4e6fbd
push 0x6bdda0
jmp 0x4e6ff4
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 0x4e6de0
mov ecx, dword [esp + 0x30]
cmp edi, 0xd
je 0x4e709f
cmp edi, 0xa
jne 0x4e70ac
mov edx, dword [esp + 0x20]
or dword [edx + 0x70], 0x800
jmp 0x4e70b0
mov edx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
cmp eax, 0x801f0000
je 0x4e70c4
cmp eax, 0x801e0000
je 0x4e70c4
push edi
jmp 0x4e70ef
add ecx, 8
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx]
cmp eax, 0x80050000
jne 0x4e70dd
lea eax, [ecx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [eax]
cmp eax, 0xd
je 0x4e70e7
cmp eax, 0xa
jne 0x4e70ee
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.004e5a70
mov ebx, dword [esp + 0x34]
add esp, 0x18
movaps xmm2, xmmword [esp + 0xd0]
add esi, eax
jmp 0x4e6de0
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 0x4e7150
xor ecx, ecx
cmp edx, 2
cmovle edx, ecx
test eax, 0x20000
je 0x4e717c
mov eax, edx
sub eax, 8
je 0x4e7215
sub eax, 1
je 0x4e7215
sub eax, 1
je 0x4e7215
mov eax, dword [esp + 0x54]
or dword [esp + 0x58], eax
lea ecx, [edx + edx*2]
mov eax, dword [ecx*4 + 0x69f978]
add eax, dword [esp + 0x88]
mov esi, dword [ecx*4 + 0x69f980]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x13c], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [ecx*4 + 0x69f97c]
movups xmmword [esp + 0x14c], xmm0
test eax, eax
js 0x4e72f4
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 0x4e72a1
cmp edx, eax
mov edx, dword [esp + 0x38]
ja 0x4e7280
lea eax, [esp + 0x15b]
cmp eax, edx
jb 0x4e7280
nop dword [eax]
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x20
jl 0x4e7200
jmp 0x4e72fa
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 0x4e723f
lea eax, [edx + 6]
jmp 0x4e724a
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 0x4e6de0
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 0x4e7280
jmp 0x4e72fa
cmp edx, eax
mov edx, dword [esp + 0x38]
ja 0x4e72d0
lea eax, [esp + 0x15b]
cmp eax, edx
jb 0x4e72d0
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x20
jl 0x4e72b4
jmp 0x4e72f8
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 0x4e72d0
jmp 0x4e72f8
test esi, esi
jns 0x4e72fa
neg esi
cmp esi, 1
jne 0x4e7309
and byte [esp + 0x13d], 0xc3
jmp 0x4e7316
cmp esi, 2
jne 0x4e7316
and byte [esp + 0x147], 0x7f
xor eax, eax
cmp edi, 0x801d0000
jne 0x4e7350
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 0x4e7320
mov esi, 1
jmp 0x4e6de0
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 0x4e7350
mov esi, 1
jmp 0x4e6de0
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 0x4e73e0
or eax, 4
mov word [ebx + 4], ax
movzx ecx, ax
test esi, esi
jle 0x4e745b
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.00526450
add esp, 0xc
cmp edi, 0x800e0000
jne 0x4e743b
cmp dword [esp + 0x60], 0
jne 0x4e743b
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 0x4e7420
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 0x4e745f
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 0x4e6443
xor eax, eax
cmp dword [esp + 0x74], edx
setne al
add eax, 0x6e
cmp dword [esp + 0x48], 0
mov word [ecx], ax
jne 0x4e74e3
cmp dword [esp + 0x28], 0x800e0000
jne 0x4e74cb
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 0x4e74b0
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 0x4e6443
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 0x4e6443
mov ecx, dword [esp + 0x20]
mov eax, 0x8a
mov dword [esp + 0x34], eax
mov ebx, 1
mov edi, eax
jmp 0x4e7efb
cmp eax, 0x80170000
ja 0x4e7946
je 0x4e78d9
cmp eax, 0x80130000
ja 0x4e7646
je 0x4e76f4
cmp eax, 0x80100000
je 0x4e761d
cmp eax, 0x80110000
je 0x4e76f4
cmp eax, 0x80120000
jne 0x4e7ec6
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 0x4e94ab
cmp eax, dword [edi + 0x88]
jbe 0x4e75f4
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 0x4e7efb
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 0x4e7efb
cmp eax, 0x80140000
je 0x4e76f4
cmp eax, 0x80150000
je 0x4e769b
cmp eax, 0x80160000
jne 0x4e7ec6
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 0x4e6443
mov eax, 0x8a
mov dword [esp + 0x34], eax
cmp dword [esi + 4], edx
jbe 0x4e76be
cmp dword [esi + 8], 0xa
jb 0x4e76b7
jne 0x4e76cf
cmp dword [esi + 0xc], 0x2a
ja 0x4e76cf
mov eax, 0x95
jmp 0x4e76d4
cmp dword [esi + 8], 0xa
jne 0x4e76cf
cmp dword [esi + 0xc], 0x2a
mov eax, 0x95
je 0x4e76d4
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 0x4e7efb
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 0x4e7760
nop
movzx eax, word [edi + 8]
cmp ebx, eax
jne 0x4e7754
push ebx
push dword [edi]
push ecx
call fcn.0051e300
add esp, 0xc
test eax, eax
je 0x4e77fa
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x20]
movzx eax, word [edx + 0x58]
inc esi
add edi, 0xc
cmp esi, eax
jb 0x4e7730
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 0x58]
cmp esi, eax
jb 0x4e7853
mov eax, dword [esp + 0x28]
xor esi, esi
cmp eax, 0x80140000
jne 0x4e94fd
lea edx, [esi + 1]
cmp ebx, edx
jbe 0x4e77c1
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 0x4e94cf
inc edx
cmp edx, ebx
jb 0x4e7790
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
cmp eax, 0x80140000
jne 0x4e94fd
cmp esi, dword [edi + 0x74]
ja 0x4e94fd
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 0x4e7efb
cmp word [edi + 0xa], 0
jne 0x4e7760
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 0x4e783e
mov dword [edi + 0x88], eax
mov edi, dword [esp + 0x34]
mov edx, 2
mov ecx, dword [esp + 0x20]
lea ebx, [edx - 1]
jmp 0x4e7efb
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 0x4e78b8
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.004e9b60
add esp, 0x18
test eax, eax
je 0x4e9657
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 0x4e7efb
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 0x4e6443
cmp eax, 0x801b0000
ja 0x4e7b4b
je 0x4e7af5
cmp eax, 0x80180000
je 0x4e798d
cmp eax, 0x80190000
je 0x4e9525
cmp eax, 0x801a0000
jne 0x4e7ec6
mov ecx, dword [esp + 0x20]
mov eax, 0x86
mov dword [esp + 0x34], eax
mov ebx, 1
mov edi, eax
jmp 0x4e7efb
mov ebx, dword [esp + 0x2c]
cmp edi, 5
jbe 0x4e79b2
cmp edi, 0x17
jae 0x4e79b2
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 0x4e7a65
cmp edi, 0x10
je 0x4e7a65
mov edx, dword [esp + 0x20]
cmp word [edx + 0x5e], 0
jbe 0x4e79ff
cmp edi, 3
jne 0x4e79ff
mov eax, dword [edx]
test byte [eax + 0x24], 0x40
je 0x4e9587
cmp edi, 0xe
jne 0x4e7a0d
or dword [edx + 0x70], 0x400000
jmp 0x4e7a2f
cmp edi, 5
je 0x4e7a1c
cmp edi, 4
je 0x4e7a1c
cmp edi, 1
jne 0x4e7a2f
cmp dword [edx + 0xac], 0
jne 0x4e7a2f
mov dword [edx + 0xac], 1
cmp dword [esp + 0x84], 0
jne 0x4e7a43
cmp edi, 0xe
jne 0x4e7a43
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 0x4e6443
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 0x4e7aae
test ecx, ecx
jne 0x4e7aae
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 0x4e6443
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 0x4e6443
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 0x4e6443
cmp eax, 0x80200000
je 0x4e7d5b
cmp eax, 0x80210000
jne 0x4e7ec6
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 0x4e95ac
movzx eax, word [ebx + 8]
cmp ecx, eax
jne 0x4e7c0e
push ecx
push dword [ebx]
push dword [esp + 0x60]
call fcn.0051e300
add esp, 0xc
test eax, eax
jne 0x4e7c06
cmp dword [esp + 0x28], 0x80210000
movzx edx, word [ebx + 0xa]
mov edi, dword [ebx + 4]
mov dword [esp + 0x38], edx
je 0x4e7cad
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 0x4e7c0a
mov dword [ecx + 0x88], edi
jmp 0x4e7c0a
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 0x4e7ba4
test edi, edi
je 0x4e95a8
test edx, edx
jne 0x4e7cba
mov edx, dword [esp + 0x20]
cmp dword [esp + 0x2c], 0xffffffff
jne 0x4e7c49
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 0x4e7c7d
mov ecx, edi
shl eax, cl
mov ecx, dword [esp + 0x18]
or dword [edx + 0x8c], eax
cmp edi, dword [edx + 0x88]
jbe 0x4e887a
mov esi, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xd0]
add esi, 4
mov dword [edx + 0x88], edi
mov dword [esp + 0x1c], esi
jmp 0x4e6443
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
jmp 0x4e7d75
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x60], edx
cmp dword [esp + 0x48], ecx
jne 0x4e7cfe
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.004e9b60
add esp, 0x18
test eax, eax
je 0x4e9657
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 0x4e6443
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 0x4e65ef
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 0x4e6443
mov eax, 0x85
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x20]
mov ebx, 1
mov edi, eax
jmp 0x4e7efb
mov edi, dword [esp + 0x28]
cmp edi, 0x80310000
ja 0x4e8423
je 0x4e840f
cmp edi, 0x802a0000
ja 0x4e8385
je 0x4e82dd
cmp edi, 0x80260000
ja 0x4e7ea6
je 0x4e7e9f
cmp edi, 0x80230000
je 0x4e7e98
cmp edi, 0x80240000
je 0x4e7e49
cmp edi, 0x80250000
jne 0x4e7ec6
mov edi, 0x80
jmp 0x4e7ef3
cmp dword [esi + 4], 0x80190000
jne 0x4e7e91
mov eax, dword [esi + 8]
cmp eax, 0x80340000
jb 0x4e7e63
cmp eax, 0x803f0000
jbe 0x4e7e91
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 0x4e6443
mov edi, 0x7f
jmp 0x4e7ef3
mov edi, 0x7e
jmp 0x4e7ef3
mov edi, 0x81
jmp 0x4e7ef3
cmp edi, 0x80270000
je 0x4e7eee
cmp edi, 0x80280000
je 0x4e7ee7
mov ebx, dword [esp + 0x28]
cmp ebx, 0x80290000
je 0x4e847e
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.00524b20
mov esp, ebp
pop ebp
ret
mov edi, 0x83
jmp 0x4e7ef3
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.004e97c0
add esp, 0x30
mov dword [esp + 0x90], eax
test eax, eax
je 0x4e9657
mov edx, dword [esp + 0x20]
mov ecx, 0xffff
add word [edx + 0x5c], cx
test ebx, ebx
je 0x4e7fbf
cmp edi, 0x8a
je 0x4e7fd7
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 0x4e7fcb
add word [edx + 0x5e], cx
cmp edi, 0x8a
jne 0x4e80f3
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x4e80fb
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 0x4e7ff0
mov ecx, dword [esp + 0x18]
mov eax, 0xa7
cmp word [ecx + 4], ax
jne 0x4e8044
cmp edx, 1
jg 0x4e95d4
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 0x4e6443
cmp edx, 2
jg 0x4e9600
cmp edx, 1
jne 0x4e80a2
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 0x4e81c4
cmp dword [esp + 0x90], 0
jle 0x4e8158
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 0x4e81b6
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4e815c
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 0x4e962c
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 0x4e6443
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
cmp edi, 0xa7
je 0x4e887a
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 0x4e8263
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
cmp ebx, 0xffffffff
jne 0x4e8208
cmp ecx, ebx
je 0x4e8208
cmp ecx, 0xfffffffe
jae 0x4e81f6
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 0x4e822b
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x64], 0xfffffffe
jmp 0x4e822b
cmp ecx, 0xfffffffe
jae 0x4e822b
cmp eax, 0xfffffffe
jb 0x4e8234
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 0x4e8872
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 0x4e6443
cmp edi, 0x7e
je 0x4e827c
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
cmp edi, 0x82
jne 0x4e887a
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
cmp edx, 0xfffffffe
jae 0x4e8876
cmp dword [esp + 0xa4], 0xfffffffe
mov dword [esp + 0x4c], eax
mov dword [esp + 0x18], ecx
jae 0x4e8876
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 0x4e6443
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc4], 1
mov ecx, dword [edx + 0x60]
mov dword [edx + 0xb0], 1
test ecx, ecx
je 0x4e833c
nop dword [eax]
mov ax, word [ecx + 6]
cmp ax, word [edx + 0x5e]
jb 0x4e833c
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4e8317
add dword [eax], 3
jmp 0x4e8336
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 0x4e8300
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 0x4e887a
mov esi, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xd0]
add esi, 4
mov dword [esp + 0x2c], 0xfffffffe
mov dword [esp + 0x1c], esi
jmp 0x4e6443
mov ebx, dword [esp + 0x28]
cmp ebx, 0x802e0000
ja 0x4e83b4
je 0x4e83c8
cmp ebx, 0x802b0000
je 0x4e83d8
cmp ebx, 0x802c0000
je 0x4e83d8
cmp ebx, 0x802d0000
jne 0x4e7ec6
jmp 0x4e847e
cmp ebx, 0x802f0000
je 0x4e8413
cmp ebx, 0x80300000
jne 0x4e7ec6
mov edx, dword [esp + 0x20]
mov dword [edx + 0xb4], 1
jmp 0x4e83dc
mov edx, dword [esp + 0x20]
movaps xmm2, xmmword [esp + 0xd0]
lea eax, [ebx + 0x7fd70000]
shr eax, 0x10
mov ax, word [eax*4 + 0x69f778]
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 0x4e6443
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
mov dword [eax + 0xb4], 1
jmp 0x4e847e
mov ebx, dword [esp + 0x28]
cmp ebx, 0x80390000
ja 0x4e85f8
je 0x4e85e9
cmp ebx, 0x80350000
ja 0x4e85c9
je 0x4e8467
cmp ebx, 0x80320000
je 0x4e8597
cmp ebx, 0x80330000
je 0x4e8473
cmp ebx, 0x80340000
jne 0x4e7ec6
xor edi, edi
mov ebx, 0x10000
jmp 0x4e88a4
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 + 0x69f778]
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 0x4e8568
cmp dword [esp + 0x84], edx
je 0x4e8526
add eax, 4
lea ecx, [esp + 0x12c]
push ecx
mov dword [esp + 0x20], eax
push dword [eax]
call fcn.0051ff00
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4e84ef
add dword [eax], edi
mov ecx, dword [esp + 0x18]
jmp 0x4e851b
lea esi, [edi + edi]
push esi
lea eax, [esp + 0x130]
push eax
push dword [esp + 0x20]
call fcn.00526450
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 0x4e8568
mov eax, dword [esp + 0x1c]
jmp 0x4e84c4
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 0x4e854e
inc dword [edi]
mov ecx, dword [esp + 0x18]
jmp 0x4e8563
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 0x4e8530
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 0x4e6443
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 0x4e6443
cmp ebx, 0x80360000
je 0x4e8467
cmp ebx, 0x80370000
je 0x4e85e9
cmp ebx, 0x80380000
jne 0x4e7ec6
mov edi, 1
mov ebx, 0x10000
jmp 0x4e88a4
cmp ebx, 0x803d0000
ja 0x4e862c
je 0x4e8892
cmp ebx, 0x803a0000
je 0x4e8622
cmp ebx, 0x803b0000
je 0x4e8622
cmp ebx, 0x803c0000
jne 0x4e7ec6
xor edi, edi
lea ebx, [edi + 1]
jmp 0x4e88a4
cmp ebx, 0x803e0000
je 0x4e8892
cmp ebx, 0x803f0000
je 0x4e8892
cmp ebx, 0x80000000
jae 0x4e7ec6
mov edi, dword [esi]
mov dword [esp + 0x4c], 1
cmp dword [esp + 0x84], edx
jne 0x4e8670
cmp dword [esp + 0xb0], edx
je 0x4e870f
test byte [esp + 0x44], 8
je 0x4e86ef
mov eax, edi
mov ebx, 0x80
cdq
idiv ebx
movzx eax, word [eax*2 + 0x6a6508]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x6aa908]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x6a22fb]
test al, al
je 0x4e86ef
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 0x4e887a
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 0x4e6443
mov ecx, dword [esp + 0x84]
test ecx, ecx
je 0x4e870f
lea eax, [esp + 0x12c]
push eax
push edi
call fcn.0051ff00
add esp, 8
mov ebx, eax
jmp 0x4e871c
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.00526450
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 0x4e876d
cmp ax, 0xa
jne 0x4e877a
mov edx, dword [esp + 0x20]
or dword [edx + 0x70], 0x800
jmp 0x4e877e
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x2c]
cmp edi, 0xffffffff
jne 0x4e87ee
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 0x4e87c3
cmp dword [esp + 0x8c], 0
je 0x4e87c3
mov dword [esp + 0x50], 0xfffffffe
mov dword [esp + 0x2c], 0xfffffffe
jmp 0x4e8835
movzx eax, ax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2c], eax
cmp ebx, 1
je 0x4e8835
movzx esi, word [ecx - 2]
mov eax, dword [edx + 0xa8]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], eax
jmp 0x4e8835
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 0x4e881c
cmp dword [esp + 0x8c], 0
jne 0x4e8835
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 0x4e887a
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 0x4e6443
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 0x4e6443
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 0x4e88d1
test edi, edi
je 0x4e88d1
xor ecx, ecx
mov dword [esp + 0x4c], 1
cmp edi, ebx
mov eax, 2
cmove eax, ecx
mov dword [esp + 0xa0], eax
jmp 0x4e8913
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 0x4e8913
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 0x4e893e
je 0x4e895c
cmp eax, 0x80380000
ja 0x4e8937
je 0x4e895c
cmp eax, 0x80350000
je 0x4e895c
cmp eax, 0x80360000
jmp 0x4e8951
cmp eax, 0x80390000
jmp 0x4e8951
cmp eax, 0x803c0000
je 0x4e896a
cmp eax, 0x803e0000
je 0x4e895c
cmp eax, 0x803f0000
je 0x4e896a
mov eax, dword [esp + 0xc8]
jmp 0x4e8971
mov dword [esp + 0x28], edx
mov dword [esp + 0x60], 1
jmp 0x4e8979
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.0x4e89a1.33
movzx eax, byte [ecx + 0x4e96c8]
jmp dword [eax*4 + 0x4e96b0]
cmp ebx, 1
jne 0x4e89b5
cmp edi, ebx
je case.0x4e89a1.162
cmp dword [esp + 0x84], 0
mov edi, dword [ecx*4 + 0x6f9398]
je 0x4e8a13
mov eax, dword [esp + 0x18]
mov ecx, 0xfc00
mov ax, word [eax - 2]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x4e8a13
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.00526450
add esp, 0xc
mov dword [esp + 0x34], 0xffffffff
or edx, 0xffffffff
jmp 0x4e916a
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 0x4e914d
cmp dword [esp + 0x30], 1
jbe 0x4e914d
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], ecx
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x50], eax
cmp edx, 0x1e
jne 0x4e914d
or eax, 1
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x50], eax
or edx, 0xffffffff
jmp 0x4e916a
test ebx, ebx
jne 0x4e8a84
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
jmp 0x4e945d
cmp ebx, 1
jne 0x4e8a91
cmp edi, ebx
je case.0x4e89a1.162
test edi, edi
jne 0x4e8ade
cmp ebx, 0x10000
jne 0x4e8abb
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 0x4e90f4
cmp ebx, 1
jne 0x4e8b09
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 0x4e90f4
cmp edi, 1
jne 0x4e8b09
cmp ebx, 0x10000
jne 0x4e8b09
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 0x4e90f4
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 0x4e90f4
cmp ebx, 1
jne 0x4e8b50
cmp edi, ebx
jne 0x4e8b50
cmp dword [esp + 0x60], 0
je case.0x4e89a1.162
test edi, edi
je 0x4e8bfe
cmp edi, 1
jne 0x4e8b69
cmp ebx, 0x10000
je 0x4e8bfe
mov ecx, edi
cmp edi, ebx
jne 0x4e8b72
lea ecx, [edi - 1]
cmp dword [esp + 0x48], 0
je 0x4e8bba
mov eax, ecx
lea edi, [ecx + ecx]
mov ecx, 2
imul ecx
test edx, edx
jg 0x4e962c
jl 0x4e8b9a
cmp eax, 0x7fffffff
ja 0x4e962c
mov edx, dword [esp + 0x48]
mov eax, 0x7fffffeb
mov ecx, dword [edx]
sub eax, ecx
cmp eax, edi
jb 0x4e962c
lea eax, [edi + ecx]
mov edi, dword [esp + 0x30]
mov dword [edx], eax
jmp 0x4e8be0
test ecx, ecx
jle 0x4e8be0
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 0x4e8bc6
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], edx
cmp edi, ebx
je 0x4e90f0
cmp ebx, 0x10000
je 0x4e8bf6
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 0x4e8c48
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 0x4e8c71
cmp ecx, ebx
jne 0x4e8c71
cmp dword [esp + 0x60], edi
je case.0x4e89a1.162
cmp dx, word [esp + 0xec]
jne 0x4e8ca3
mov edx, dword [esp + 0x3c]
mov ecx, 0x94
cmp word [edx + 4], cx
mov ecx, dword [esp + 0x30]
jne 0x4e8cc0
movzx eax, word [edx + 2]
cmp word [edx + eax*2], 0x78
jne case.0x4e89a1.162
mov eax, dword [esp + 0x38]
jmp 0x4e8cc0
cmp dx, word [esp + 0xf0]
mov edx, dword [esp + 0x3c]
jae 0x4e8cc0
cmp ebx, 0x10000
jne 0x4e8cc0
lea ebx, [ecx + 1]
mov dword [esp + 0x34], ebx
test ecx, ecx
jne 0x4e8d83
cmp ebx, 1
jbe 0x4e8d16
cmp ebx, 0x10000
je 0x4e8d16
add eax, eax
push eax
push edx
lea eax, [edx + 6]
push eax
call fcn.00526450
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 0x4e8e4c
add eax, eax
lea esi, [edx + 2]
push eax
push edx
push esi
call fcn.00526450
mov ecx, dword [esp + 0x24]
add esp, 0xc
add ecx, 2
mov dword [esp + 0x18], ecx
test ebx, ebx
jne 0x4e8d4e
mov eax, dword [esp + 0x3c]
mov edx, 0xa6
mov dword [esp + 0x3c], esi
mov word [eax], dx
mov esi, dword [esp + 0x1c]
jmp 0x4e945d
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 0x4e8d7a
dec ebx
mov esi, dword [esp + 0x1c]
jmp 0x4e8e4c
cmp ecx, 1
jbe 0x4e8e3a
cmp dword [esp + 0x48], edi
je 0x4e8de3
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 0x4e962c
jl 0x4e8dbf
cmp eax, 0x7fffffff
ja 0x4e962c
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x74]
mov ecx, dword [eax]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jb 0x4e962c
lea eax, [edx + ecx]
mov ecx, dword [esp + 0x48]
mov dword [ecx], eax
jmp 0x4e8e36
cmp dword [esp + 0x94], edi
je 0x4e8e03
cmp dword [esp + 0x50], 0xfffffffe
jb 0x4e8e03
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.00526450
mov edx, dword [esp + 0x48]
add esp, 0xc
add edi, esi
sub ebx, 1
jne 0x4e8e10
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 0x4e8f9d
sub ebx, ecx
cmp ebx, 0x10000
je 0x4e8f9d
cmp dword [esp + 0x48], 0
je 0x4e8f01
test ebx, ebx
je 0x4e8f01
mov eax, dword [esp + 0x98]
add eax, 5
mov ecx, eax
imul ecx, ebx
mul ebx
sub ecx, 4
test edx, edx
jg 0x4e962c
jl 0x4e8e94
cmp eax, 0x7fffffff
ja 0x4e962c
mov ebx, dword [esp + 0x48]
mov eax, 0x7fffffeb
mov edx, dword [ebx]
sub eax, edx
cmp eax, ecx
jb 0x4e962c
lea eax, [ecx + edx]
mov dword [ebx], eax
mov ecx, dword [esp + 0x18]
test edi, edi
je 0x4e90f4
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 0x4e8f82
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 0x4e8ec0
mov esi, dword [esp + 0x1c]
jmp 0x4e90f4
cmp ebx, 1
jb 0x4e8eae
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 0x4e8f54
mov eax, 0x86
mov word [ecx], ax
test edi, edi
jne 0x4e8f3f
xor eax, eax
jmp 0x4e8f46
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.00526450
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 0x4e8f20
mov esi, dword [esp + 0x1c]
jmp 0x4e8eb2
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 0x4e90f4
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 0x4e8fd3
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0x4e90e1
mov eax, 0x86
mov word [edi], ax
mov edx, eax
jmp 0x4e8fe7
mov ecx, 0x85
mov edx, eax
cmp ax, cx
je 0x4e90e1
mov ebx, dword [esp + 0x60]
cmp dword [esp + 0x48], 0
movzx ecx, dx
jne 0x4e902b
cmp dword [esp + 0x90], 0
movzx eax, dx
jge 0x4e9007
lea eax, [edx + 5]
mov word [edi], ax
movzx eax, ax
mov edx, 0x8a
movzx ecx, ax
cmp ax, dx
jne 0x4e9030
movzx eax, word [edi + 2]
mov ecx, edx
cmp word [edi + eax*2], 0x78
lea eax, [edx + 5]
je 0x4e9035
mov word [edi], ax
mov ecx, eax
jmp 0x4e9035
mov edx, 0x8a
mov eax, 0x8f
test ebx, ebx
je 0x4e90d1
cmp cx, dx
je 0x4e905c
cmp cx, ax
je 0x4e905c
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x18]
mov word [edi], ax
mov eax, 0x7c
mov word [esi - 4], ax
jmp 0x4e90ac
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.00526450
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 0x4e90bc
mov edx, 0x98
mov word [eax], dx
cmp dword [esp + 0x30], 2
mov esi, dword [esp + 0x1c]
jae 0x4e90ff
mov dword [esp + 0x60], 0
jmp 0x4e90f4
mov eax, dword [esp + 0x28]
add eax, 0x7a
mov word [esi - 4], ax
jmp 0x4e9455
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 0x4e945d
mov eax, dword [esp + 0x40]
movzx ecx, word [eax]
lea eax, [ecx - 0x1d]
cmp eax, 0x53
ja case.0x4e9119.33
movzx eax, byte [eax + 0x4e9764]
jmp dword [eax*4 + 0x4e9750]
cmp edx, 0x17
jae 0x4e964d
cmp ebx, 1
jne 0x4e9136
cmp edi, ebx
je case.0x4e89a1.162
mov dword [esp + 0x58], 0
mov edi, 0x34
cmp edx, 0x10
je 0x4e915a
cmp edx, 0xf
je 0x4e915a
mov dword [esp + 0x34], 0xffffffff
or edx, 0xffffffff
jmp 0x4e916a
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.0x4e89a1.162
add dword [esp + 0x28], edi
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4e9215
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 0x4e91ee
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 0x4e9340
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x130]
push eax
push ecx
call fcn.00526450
mov ecx, dword [esp + 0x24]
add esp, 0xc
add ecx, esi
mov dword [esp + 0x18], ecx
mov esi, dword [esp + 0x1c]
jmp 0x4e90f4
mov edi, dword [esp + 0x34]
cmp ebx, 1
jne 0x4e9203
add eax, 0x25
mov dword [esp + 0x18], ecx
mov word [esi], ax
jmp 0x4e91b6
add eax, 0x27
mov word [esi], ax
mov word [ecx], bx
add ecx, 2
mov dword [esp + 0x18], ecx
jmp 0x4e91b6
cmp eax, 1
jne 0x4e9268
cmp ebx, 0x10000
jne 0x4e923c
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 0x4e91b2
mov dword [esp + 0x18], ecx
cmp ebx, 1
je case.0x4e89a1.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 0x4e91b2
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 0x4e91b2
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4e92e1
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x130]
push eax
push ecx
call fcn.00526450
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 0x4e9307
mov ebx, dword [esp + 0x18]
add eax, 0x21
mov dword [esp + 0x18], ecx
mov word [ebx], ax
jmp 0x4e91ba
mov esi, dword [esp + 0x54]
mov word [ecx], si
add ecx, 2
mov dword [esp + 0x18], ecx
test edx, edx
js 0x4e92b8
mov edi, dword [esp + 0x34]
mov word [ecx], dx
mov word [ecx + 2], di
add ecx, 4
mov dword [esp + 0x18], ecx
jmp 0x4e92bc
sub ebx, dword [esp + 0x30]
cmp ebx, 1
jne 0x4e9323
mov ebx, dword [esp + 0x18]
add eax, 0x25
mov dword [esp + 0x18], ecx
mov word [ebx], ax
jmp 0x4e91ba
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 0x4e91ba
mov word [ecx], si
add ecx, 2
mov dword [esp + 0x18], ecx
test edx, edx
js 0x4e91e5
mov word [ecx], dx
mov word [ecx + 2], di
add ecx, 4
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
jmp 0x4e90f4
mov eax, dword [esp + 0x40]
movzx eax, word [eax + 4]
cmp eax, 0x10
je 0x4e9388
cmp eax, 0xf
je 0x4e9388
movzx ecx, byte [ecx + 0x6bdc60]
xor eax, eax
add ecx, eax
jmp 0x4e93de
movzx ecx, byte [ecx + 0x6bdc60]
mov eax, 2
add ecx, eax
jmp 0x4e93de
cmp dword [esp + 0x84], 0
mov eax, dword [esp + 0x40]
movzx ecx, byte [ecx + 0x6bdc60]
lea ecx, [eax + ecx*2]
mov dword [esp + 0x40], ecx
je case.0x4e9119.33
mov ax, word [ecx - 2]
mov edx, 0xfc00
and ax, dx
mov edx, 0xd800
cmp ax, dx
jne case.0x4e9119.33
lea eax, [ecx + 2]
jmp 0x4e93e5
add dword [esp + 0x40], 0x22
jmp case.0x4e9119.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.0x4e89a1.162
movzx eax, word [ecx]
cmp eax, 0x76
jae 0x4e9415
mov al, byte [eax + 0x69fa20]
test al, al
je 0x4e9415
movzx eax, al
mov word [ecx], ax
jmp 0x4e9455
mov ecx, dword [esp + 0x40]
lea eax, [edi + edi]
push eax
push ecx
lea eax, [ecx + 4]
push eax
call fcn.00526450
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 0x4e6443
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.00524b20
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.00524b20
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.00524b20
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.00524b20
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.00524b20
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.00524b20
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.00524b20
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.00524b20
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.00524b20
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.00524b20
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.00524b20
mov esp, ebp
pop ebp
ret