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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x154
mov eax, dword [0x62d040]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
push esi
push edi
mov edi, edx
mov dword [esp + 0xe8], edi
mov edx, ecx
mov dword [esp + 0xc8], edx
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x20], eax
mov eax, dword [eax + 0xc]
mov dword [esp + 0x84], eax
mov esi, dword [ebp + 8]
mov dword [esp + 0xec], esi
mov ecx, dword [ebp + 0xc]
movups xmm2, xmmword [0x624680]
mov esi, dword [esi]
mov ebx, dword [edx]
mov eax, ebx
shr eax, 0x13
and eax, 1
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x80], eax
mov eax, ebx
shr eax, 0x11
and eax, 1
mov dword [esp + 0xd8], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xa4], eax
mov eax, ebx
mov dword [esp + 0xdc], ecx
mov ecx, dword [ebp + 0x18]
shr eax, 0x12
and eax, 1
mov dword [esp + 0xe0], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0xc0], eax
xor eax, 1
mov dword [esp + 0xe4], ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0xcc], ecx
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0xc4], eax
mov eax, ebx
mov dword [esp + 0x44], ecx
or ecx, 0xffffffff
or edx, 0xffffffff
shr eax, 3
mov dword [esp + 0xa8], ecx
and eax, 1
mov ecx, dword [edi]
mov dword [esp + 0x88], 0
mov dword [esp + 0x48], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x74], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x1c], edx
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x8c], eax
mov dword [esp + 0xd0], 0x8a
mov dword [esp + 0xd4], 0x84
movaps xmmword [esp + 0xf0], xmm2
nop dword [eax]
mov eax, dword [esi]
mov ebx, eax
and ebx, 0xffff0000
movzx edi, ax
cmp dword [esp + 0x44], 0
mov dword [esp + 0x2c], ebx
je 0x564004
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x14]
lea ecx, [eax + ecx*2]
lea eax, [ecx - 0xc8]
cmp ebx, eax
ja 0x5675a5
mov ecx, ebx
mov ebx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0xb4]
cmovb ecx, dword [esp + 0xb4]
mov dword [esp + 0x14], ecx
cmp ebx, 0x80340000
jb 0x563fb4
cmp ebx, 0x803f0000
jbe 0x563ffd
sub ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0x44]
sar ecx, 1
mov dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, ebx
jb 0x5676bf
lea eax, [ecx + ebx]
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
cmp eax, 0x10000
ja 0x5676bf
mov ecx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xb4], ecx
cmp ebx, 0x80340000
jb 0x564014
cmp ebx, 0x803f0000
jbe 0x564044
mov eax, dword ds:[esp + 0x4c]
mov dword [esp + 0x3c], ecx
test eax, eax
je 0x564048
mov ecx, dword [esp + 0xa8]
mov ebx, 1
cmp dword [esp + 0xbc], 0
cmove ecx, ebx
mov dword [esp + 0xa8], ecx
jmp 0x564048
mov eax, dword [esp + 0x4c]
xor ebx, ebx
mov dword [esp + 0x4c], 0
xor ecx, ecx
cmp dword [esp + 0x2c], 0x80220000
ja 0x565b69
mov eax, dword [esp + 0x2c]
cmp eax, 0x80220000
je 0x565b50
nop word [eax + eax]
cmp eax, 0x800f0000
ja 0x565245
mov ebx, eax
cmp ebx, 0x800f0000
je 0x565227
nop dword [eax]
cmp ebx, 0x80070000
ja 0x5642cd
je 0x5641ca
cmp ebx, 0x80030000
ja 0x56413e
nop
je 0x564105
cmp ebx, 0x80000000
je 0x567605
cmp ebx, 0x80010000
je 0x567605
nop word [eax + eax]
cmp ebx, 0x80020000
jne 0x5664bd
mov edx, dword ds:[esp + 0x20]
lea ebx, [ecx + 1]
mov eax, 0x84
mov dword [esp + 0x28], eax
mov edi, eax
jmp 0x565c8f
mov ebx, dword [esp + 0x20]
cmp edi, 0xa
jae 0x564116
lea esi, [ebx + 0x2c]
lea esi, [esi + edi*4]
jmp 0x56411d
add esi, 4
mov dword [esp + 0x18], esi
mov eax, dword [esi]
mov dword [esp + 0x74], eax
cmp edi, dword [ebx + 0x74]
jbe 0x5659b8
mov dword [ebx + 0x54], eax
mov eax, dword [esp + 0x68]
mov dword [eax], 0x73
jmp 0x5676d8
nop
cmp ebx, 0x80040000
je 0x56589b
cmp ebx, 0x80050000
je 0x5641be
nop dword [eax]
nop dword [eax + eax]
cmp ebx, 0x80060000
jne 0x565c6c
mov ecx, dword [esp + 0x14]
mov eax, 0x76
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx], ax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 4]
mov word [ecx + 2], ax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 8]
mov word [ecx + 4], ax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0xc]
mov word [ecx + 6], ax
add ecx, 8
mov esi, dword [esp + 0x18]
add esi, 0xc
mov dword [esp + 0x14], ecx
add esi, 4
mov dword [esp + 0x18], esi
jmp 0x563f50
add esi, 4
mov dword [esp + 0x18], esi
jmp 0x5664cc
mov edi, dword [esp + 0x44]
test edi, edi
je 0x5641f5
mov eax, dword [esi + 0xc]
add esi, 0x10
mov ecx, dword [esp + 0x14]
add eax, 5
add dword [edi], eax
add esi, 4
movaps xmm2, xmmword [esp + 0xf0]
mov dword [esp + 0x18], esi
jmp 0x563f50
mov edi, dword [esp + 0x14]
mov eax, 0x77
mov esi, dword [esi + 0xc]
lea ecx, [edi + 0xa]
mov word [edi], ax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 4]
mov word [edi + 2], ax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 8]
mov word [edi + 4], ax
mov eax, dword [esp + 0x18]
add eax, 0x10
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], edx
mov eax, dword [eax + 0x1c]
lea edx, [eax + edx*2]
movzx eax, word [edx]
add edx, 2
mov word [ecx], ax
mov ebx, eax
add ecx, 2
mov eax, 0x7d
cmp ebx, 0x7b
mov dword [esp + 0x34], ecx
cmove ebx, eax
mov eax, dword [esp + 0x74]
inc eax
dec esi
mov word [edi + 8], ax
cmp esi, 1
jbe 0x56429b
movzx edi, word [edx]
cmp edi, ebx
jne 0x56427e
movzx eax, word [edx + 2]
cmp eax, ebx
jne 0x56427e
add edx, 4
movzx eax, bx
dec esi
jmp 0x564283
add edx, 2
mov eax, edi
mov edi, dword [esp + 0x34]
dec esi
mov word [edi], ax
lea ecx, [edi + 2]
mov dword [esp + 0x34], ecx
cmp esi, 1
ja 0x564266
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
xor eax, eax
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx], ax
add ecx, 2
mov eax, ecx
mov dword [esp + 0x14], ecx
sub eax, edi
sar eax, 1
mov word [edi + 6], ax
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x18], esi
jmp 0x563f50
cmp ebx, 0x800b0000
ja 0x5643a5
je 0x5651c5
nop
cmp ebx, 0x80080000
je 0x564377
cmp ebx, 0x80090000
je 0x5642ff
cmp ebx, 0x800a0000
jmp 0x5643b7
test dword [esp + 0x48], 0x400
je 0x56434c
cmp dword [esp + 0x30], 0xffffffff
jne 0x564321
mov edx, 0xfffffffe
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x14]
mov eax, 0x1c
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ecx, dword [esp + 0x14]
mov eax, 0x1b
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov eax, 0x88
mov ecx, 1
mov dword [esp + 0x28], eax
mov ebx, ecx
mov eax, dword [esp + 0x14]
mov word [eax + 4], di
mov eax, dword [esp + 0x20]
mov edx, eax
mov dword [eax + 0x78], edi
mov edi, dword [esp + 0x28]
jmp 0x565c8f
cmp ebx, 0x800c0000
je 0x5651c5
cmp ebx, 0x800e0000
jne 0x565c6c
mov edi, dword ds:[esi + 4]
xor eax, eax
cmp ebx, 0x800e0000
mov dword [esp + 0x4c], 1
sete al
mov dword [esp + 0x6c], eax
cmp edi, 0x80000000
jae 0x564579
cmp dword [esi + 8], 0x800d0000
lea eax, [esi + 8]
jne 0x564579
mov dword [esp + 0x18], eax
cmp ebx, 0x800a0000
je 0x5664ce
mov eax, dword [esp + 0x64]
mov ecx, 0xfffffffe
mov esi, dword [esp + 0x80]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x30]
cmp eax, 0xffffffff
cmove eax, ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov edx, eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], edx
test esi, esi
jne 0x564455
cmp dword [esp + 0xa4], esi
je 0x5644d6
mov ebx, dword ds:[esp + 0x48]
test bl, 8
je 0x5644dd
mov eax, edi
test eax, eax
jns 0x564472
add eax, 0x7f
sar eax, 7
movzx ecx, word [eax*2 + 0x5f3170]
mov eax, edi
shl ecx, 7
and eax, 0x8000007f
jns 0x56448e
dec eax
or eax, 0xffffff80
inc eax
add ecx, eax
movzx eax, word [ecx*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x5dc363]
test al, al
je 0x5644da
mov ecx, dword [esp + 0x14]
movaps xmm2, xmmword [esp + 0xf0]
movzx eax, al
mov dword [ecx], 0xa000f
mov word [ecx + 4], ax
add ecx, 6
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ebx, dword [esp + 0x48]
test bl, 8
mov ecx, dword [esp + 0x14]
mov eax, 0
setne al
add eax, 0x1f
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
test esi, esi
je 0x564553
nop word [eax + eax]
cmp edi, 0xffff
jbe 0x564553
mov ebx, dword [esp + 0x14]
lea ecx, [edi - 0x10000]
movaps xmm2, xmmword [esp + 0xf0]
mov eax, ecx
shr eax, 0xa
and ecx, 0x3ff
or eax, 0xd800
or ecx, 0xdc00
mov word [ebx], ax
mov eax, 4
mov word [ebx + 2], cx
mov ecx, ebx
mov esi, dword [esp + 0x18]
add ecx, eax
add esi, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
movaps xmm2, xmmword [esp + 0xf0]
mov eax, 2
mov word [ecx], di
add ecx, eax
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
nop dword [eax]
cmp ebx, 0x800a0000
jne 0x5646c6
cmp edi, 0x80000000
jae 0x5646c6
cmp dword ds:[esi + 8], 0x80000000
jae 0x5646c6
cmp dword [esi + 0xc], 0x800d0000
jne 0x5646c6
mov edx, edi
test edx, edx
jns 0x5645bc
add edx, 0x7f
sar edx, 7
mov ecx, edi
and ecx, 0x8000007f
jns 0x5645ce
dec ecx
or ecx, 0xffffff80
inc ecx
movzx eax, word [edx*2 + 0x5f3170]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
cmp byte [eax*4 + 0x5dc363], 0
jne 0x5646c6
cmp dword [esp + 0x80], 0
jne 0x564608
cmp dword [esp + 0xa4], 0
je 0x564637
cmp edi, 0x7f
jbe 0x564637
lfence
movzx eax, word [edx*2 + 0x5f3170]
mov esi, dword [esp + 0x18]
shl eax, 7
add eax, ecx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov eax, dword [eax*4 + 0x5dc364]
add eax, edi
jmp 0x564657
nop word [eax + eax]
cmp edi, 0xff
ja 0x5646c6
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 8]
movzx eax, byte [eax + edi]
cmp edi, eax
je 0x5646c6
nop dword [eax + eax]
cmp dword [esi + 8], eax
jne 0x5646c6
mov ebx, dword [esp + 0x48]
add esi, 0xc
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x18], esi
test bl, 8
jne 0x564699
or ebx, 8
mov dword [esp + 0xac], 1
mov dword [esp + 0x48], ebx
mov dword [esp + 0x8c], 1
nop dword [eax]
test ecx, ecx
je 0x5665b5
cmp edi, 0xffff
ja 0x56657f
movzx edi, di
mov ebx, 1
mov eax, edi
movzx eax, ax
jmp 0x5665c0
mov ecx, dword ds:[esp + 0x14]
add esi, 4
add ecx, 6
mov dword [esp + 0x18], esi
xor edi, edi
mov dword [esp + 0x50], 0
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
mov ebx, dword [esi]
mov dword [esp + 0x60], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], esi
movups xmmword [esp + 0x10c], xmm0
movups xmmword [esp + 0x11c], xmm0
cmp ebx, 0x800d0000
je 0x564850
mov eax, esi
mov ecx, esi
mov edx, esi
cmp ebx, 0x801c0000
je 0x564dba
nop
cmp ebx, 0x801d0000
je 0x564dba
cmp ebx, 0x80050000
jne 0x56477e
lea esi, [eax + 4]
mov dword [esp + 0x18], esi
mov ebx, dword [esi]
nop dword [eax]
cmp ebx, 0xd
je 0x56476e
cmp ebx, 0xa
jne 0x564d2e
mov edx, dword [esp + 0x20]
or dword [edx + 0x70], 0x800
jmp 0x564d32
nop
cmp ebx, 0x80000000
jb 0x56475d
mov eax, ebx
and eax, 0xffff0000
cmp eax, 0x80180000
jne 0x565c6c
inc dword [esp + 0x58]
movzx esi, bx
lea eax, [esi - 6]
cmp eax, 0xf
ja case.0x5647a9.12
jmp dword [eax*4 + 0x5676f4]
mov ebx, dword [esp + 0x84]
lea esi, [esp + 0x10c]
xor ecx, ecx
lea eax, [ebx + 0x5f]
lea edx, [ebx + 0x40]
cmp esi, eax
ja 0x564910
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x564910
nop dword [eax]
mov al, byte [ebx + ecx + 0x40]
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x5647e0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov ecx, dword ds:[esp + 0x78]
cmp eax, ecx
jbe 0x564824
mov edx, dword [esp + 0x44]
mov dword [esp + 0x60], 1
test edx, edx
je 0x564824
sub eax, ecx
sar eax, 1
add dword [edx], eax
mov eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], eax
add edi, 4
mov eax, edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edi
mov esi, edi
mov ecx, eax
mov edx, eax
mov ebx, dword [edi]
mov edi, dword [esp + 0x58]
cmp ebx, 0x800d0000
jne 0x564732
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edx, 0xfffffffe
mov ebx, dword [esp + 0x28]
cmp eax, 0xffffffff
cmove eax, edx
cmp dword [esp + 0x60], 0
mov edx, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edx
mov edx, eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x78], eax
je 0x565145
mov eax, dword [esp + 0x48]
and eax, 0x20000
jne 0x5648ae
nop dword [eax + eax]
cmp dword [esp + 0x5c], eax
jne 0x5648ae
test ebx, ebx
jne 0x565145
cmp dword [esp + 0x50], 0
jne 0x5648d3
test ebx, ebx
je 0x565058
cmp dword [esp + 0x2c], 0x800e0000
je 0x565058
test eax, eax
jne 0x565058
cmp dword [esp + 0x80], 0
mov eax, 2
mov word [ecx], ax
lea eax, [ecx + 2]
lea ecx, [eax + 4]
je 0x565052
mov ebx, 0xdfff
mov dword [eax], 0xdbff0100
mov word [ecx], bx
lea ecx, [eax + 6]
jmp 0x565058
movups xmm0, xmmword [esp + ecx + 0x10c]
movups xmm1, xmmword [edx + ecx]
orps xmm1, xmm0
movups xmmword [esp + ecx + 0x10c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jl 0x564910
jmp case.0x5647a9.12
mov ebx, dword [esp + 0x84]
lea esi, [esp + 0x10c]
xor ecx, ecx
mov dword [esp + 0x28], 1
lea eax, [ebx + 0x5f]
lea edx, [ebx + 0x40]
cmp esi, eax
ja 0x564990
lea eax, ds:[esp + 0x12b]
cmp eax, edx
jb 0x564990
nop dword [eax]
nop dword [eax + eax]
mov al, byte ds:[ebx + ecx + 0x40]
not al
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x564970
jmp case.0x5647a9.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 0x564990
jmp case.0x5647a9.12
mov ebx, dword [esp + 0x84]
lea esi, [esp + 0x10c]
xor ecx, ecx
lea eax, [ebx + 0xbf]
lea edx, [ebx + 0xa0]
cmp esi, eax
ja 0x564a10
lea eax, ds:[esp + 0x12b]
cmp eax, edx
jb 0x564a10
nop dword [eax]
nop dword [eax + eax]
mov al, byte ds:[ebx + ecx + 0xa0]
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x5649f0
jmp case.0x5647a9.12
movups xmm0, xmmword [esp + ecx + 0x10c]
movups xmm1, xmmword [edx + ecx]
orps xmm1, xmm0
movups xmmword [esp + ecx + 0x10c], xmm1
add ecx, 0x10
cmp ecx, 0x20
jl 0x564a10
jmp case.0x5647a9.12
mov ebx, dword [esp + 0x84]
lea esi, [esp + 0x10c]
xor ecx, ecx
mov dword [esp + 0x28], 1
lea eax, [ebx + 0xbf]
lea edx, [ebx + 0xa0]
cmp esi, eax
ja 0x564a90
lea eax, [esp + 0x12b]
cmp eax, edx
jb 0x564a90
nop word [eax + eax]
mov al, byte [ebx + ecx + 0xa0]
not al
or byte [esp + ecx + 0x10c], al
inc ecx
cmp ecx, 0x20
jl 0x564a70
jmp case.0x5647a9.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 0x564a90
jmp case.0x5647a9.12
mov ebx, dword [esp + 0x84]
lea ecx, [esp + 0x10c]
xor edx, edx
lea eax, [ebx + 0x1f]
cmp ecx, eax
ja 0x564af9
lea eax, [esp + 0x12b]
cmp eax, ebx
jb 0x564af9
mov esi, ebx
mov eax, ecx
sub esi, eax
nop
lea ecx, [esp + 0x10c]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
or byte [ecx], al
cmp edx, 0x20
jl 0x564ae0
jmp case.0x5647a9.12
mov ecx, ebx
lea eax, [esp + 0x10c]
sub ecx, eax
nop dword [eax]
nop dword [eax + eax]
movups xmm0, xmmword [esp + edx + 0x10c]
lea eax, [eax + 0x10]
movups xmm1, xmmword [eax + ecx - 0x10]
orps xmm1, xmm0
movups xmmword [esp + edx + 0x10c], xmm1
add edx, 0x10
cmp edx, 0x20
jl 0x564b10
jmp case.0x5647a9.12
mov ebx, dword [esp + 0x84]
lea ecx, [esp + 0x10c]
xor edx, edx
mov dword [esp + 0x28], 1
lea eax, [ebx + 0x1f]
cmp ecx, eax
ja 0x564b8b
lea eax, ds:[esp + 0x12b]
cmp eax, ebx
jb 0x564b8b
mov esi, ebx
mov eax, ecx
sub esi, eax
nop word [eax + eax]
lea ecx, [esp + 0x10c]
add ecx, edx
inc edx
mov al, byte [ecx + esi]
not al
or byte [ecx], al
cmp edx, 0x20
jl 0x564b70
jmp case.0x5647a9.12
mov ecx, ebx
lea eax, [esp + 0x10c]
sub ecx, eax
nop word [eax + eax]
movups xmm1, xmmword [eax + ecx]
lea eax, [eax + 0x10]
movups xmm0, xmmword [esp + edx + 0x10c]
andnps xmm1, xmm2
orps xmm1, xmm0
movups xmmword [esp + edx + 0x10c], xmm1
add edx, 0x10
cmp edx, 0x20
jl 0x564ba0
jmp case.0x5647a9.12
mov ebx, dword [esp + 0x20]
mov edi, 0x5f9120
mov edx, dword ds:[edi]
lea ecx, [edi + 4]
xor esi, esi
lea eax, [edx + 1]
cmp dword [ecx], eax
jne 0x564bed
lea ecx, [ecx + 4]
inc eax
inc esi
cmp dword [ecx], eax
je 0x564be4
mov dword [ebx + 0x98], edx
lea ecx, [esp + 0x10c]
mov eax, dword [edi + esi*4]
lea edx, [esp + 0x38]
mov dword [ebx + 0x9c], eax
push dword [edi + esi*4]
mov eax, dword [esp + 0x4c]
push dword [edi]
and eax, 0xfffffff7
push ebx
push eax
call fcn.005636e0
lea edi, [edi + esi*4]
add edi, 4
cmp dword [edi], 0xffffffff
jb 0x564bd3
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x5647f9
push 0x5f9120
push dword [esp + 0x24]
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x40]
and eax, 0xfffffff7
lea ecx, [esp + 0x114]
push eax
call fcn.00563b40
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x5647f9
mov ebx, dword [esp + 0x20]
mov edi, str._n_v_f_r
mov edx, dword [edi]
lea eax, [edi + 4]
xor esi, esi
lea ecx, [edx + 1]
cmp dword [eax], ecx
jne 0x564c89
nop
lea eax, [eax + 4]
inc ecx
inc esi
cmp dword [eax], ecx
je 0x564c80
mov dword [ebx + 0x98], edx
lea ecx, [esp + 0x10c]
mov eax, dword [edi + esi*4]
lea edx, [esp + 0x38]
mov dword [ebx + 0x9c], eax
push dword [edi + esi*4]
mov eax, dword [esp + 0x4c]
push dword [edi]
and eax, 0xfffffff7
push ebx
push eax
call fcn.005636e0
lea edi, ds:[edi + esi*4]
add edi, 4
cmp dword [edi], 0xffffffff
jb 0x564c71
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x5647f9
push str._n_v_f_r
jmp 0x564c3b
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x18], eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], 1
mov eax, dword [eax]
mov edx, eax
movzx ecx, ax
xor eax, eax
shr edx, 0x10
cmp esi, 0x10
setne al
add eax, 3
mov word [ebx], ax
lea eax, [ebx + 4]
mov word [ebx + 2], dx
mov word [eax], cx
add eax, 2
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], eax
jmp 0x5647f9
mov edx, dword [esp + 0x20]
mov eax, dword [esi + 4]
cmp eax, 0x801f0000
je 0x564d50
nop dword [eax]
cmp eax, 0x801e0000
je 0x564d50
mov dword [edx + 0x9c], ebx
push ebx
jmp 0x564d88
lea ecx, ds:[esi + 8]
mov dword [esp + 0x18], ecx
mov eax, dword [ecx]
cmp eax, 0x80050000
jne 0x564d70
lea eax, [ecx + 4]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, 0xd
je 0x564d7a
cmp eax, 0xa
jne 0x564d81
or dword [edx + 0x70], 0x800
mov dword [edx + 0x9c], eax
push eax
push ebx
push edx
push dword [esp + 0x54]
mov dword [edx + 0x98], ebx
lea ecx, [esp + 0x11c]
lea edx, [esp + 0x48]
call fcn.005636e0
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x5647f9
xor eax, eax
mov edi, edx
cmp ebx, 0x801d0000
sete al
cmp ebx, 0x801c0000
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x48]
cmove edi, ecx
add edi, 4
mov dword [esp + 0x18], edi
mov ecx, dword [edi]
test al, 8
je 0x564ded
xor edx, edx
cmp ecx, 2
cmovle ecx, edx
test eax, 0x20000
je 0x564e1e
mov eax, ecx
sub eax, 8
je 0x564eca
nop
sub eax, 1
je 0x564eca
sub eax, 1
je 0x564eca
mov eax, dword [esp + 0x50]
or eax, dword [esp + 0x28]
mov dword [esp + 0x50], eax
lea ecx, [ecx + ecx*2]
mov eax, dword [ecx*4 + 0x5db4a0]
add eax, dword [esp + 0x84]
mov esi, dword [ecx*4 + 0x5db4a8]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x13c], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [ecx*4 + 0x5db4a4]
movups xmmword [esp + 0x14c], xmm0
test eax, eax
js 0x564fa7
mov ecx, dword ds:[esp + 0x84]
lea edx, [ecx + eax]
add eax, 0x1f
add eax, ecx
mov dword [esp + 0x34], edx
xor ecx, ecx
lea edx, [esp + 0x13c]
test esi, esi
js 0x564f45
cmp edx, eax
mov edx, dword [esp + 0x34]
ja 0x564f20
lea eax, ds:[esp + 0x15b]
cmp eax, edx
jb 0x564f20
nop dword [eax + eax]
mov al, byte ds:[edx + ecx]
or byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x20
jl 0x564eb0
jmp 0x564fad
mov edx, dword ds:[esp + 0x1c]
xor eax, eax
cmp ebx, 0x801d0000
sete al
add eax, 3
mov word [edx], ax
cmp ecx, 8
jne 0x564eea
lea eax, [ecx + 6]
jmp 0x564ef5
xor eax, eax
cmp ecx, 9
setne al
add eax, 0xf
lea edi, [edx + 6]
mov word [edx + 2], ax
xor ecx, ecx
mov dword [esp + 0x1c], edi
mov word [edx + 4], cx
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x5c], 1
jmp 0x5647f5
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 0x564f20
nop
jmp 0x564fad
cmp edx, eax
mov edx, dword [esp + 0x34]
ja 0x564f80
lea eax, [esp + 0x15b]
cmp eax, edx
jb 0x564f80
nop dword [eax + eax]
mov al, byte [edx + ecx]
not al
and byte [esp + ecx + 0x13c], al
inc ecx
cmp ecx, 0x20
jl 0x564f60
jmp 0x564fab
movups xmm1, xmmword ds:[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 0x564f80
jmp 0x564fab
test esi, esi
jns 0x564fad
neg esi
cmp esi, 1
jne 0x564fbc
and byte [esp + 0x13d], 0xc3
jmp 0x564fcd
nop dword [eax]
cmp esi, 2
jne 0x564fcd
and byte [esp + 0x147], 0x7f
xor eax, eax
cmp ebx, 0x801d0000
jne 0x565020
nop word [eax + eax]
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 0x564fe0
mov dword [esp + 0x58], 1
jmp 0x5647f5
movups xmm0, xmmword ds:[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 0x565020
mov dword [esp + 0x58], 1
jmp 0x5647f5
mov dword [eax], 0xffff0100
mov ebx, dword [esp + 0x14]
lea esi, [ecx + 2]
xor eax, eax
mov word [ecx], ax
mov eax, 0x70
mov word [ebx], ax
xor eax, eax
cmp dword [esp + 0x2c], 0x800e0000
sete al
cmp dword [esp + 0x5c], 0
movzx eax, ax
mov word [ebx + 4], ax
mov ecx, eax
je 0x565093
or eax, 4
mov word [ebx + 4], ax
movzx ecx, ax
test edi, edi
jle 0x565114
or ecx, 2
mov eax, esi
mov word [ebx + 4], cx
add ebx, 6
sub eax, ebx
and eax, 0xfffffffe
push eax
lea eax, [ebx + 0x20]
push ebx
push eax
call fcn.00586330
add esp, 0xc
cmp dword [esp + 0x2c], 0x800e0000
jne 0x5650f0
cmp dword [esp + 0x5c], 0
jne 0x5650f0
movaps xmm2, xmmword [esp + 0xf0]
xor eax, eax
movups xmm0, xmmword [esp + eax + 0x10c]
andnps xmm0, xmm2
movups xmmword [esp + eax + 0x10c], xmm0
add eax, 0x10
cmp eax, 0x20
jl 0x5650d5
movups xmm0, xmmword [esp + 0x10c]
mov edx, dword [esp + 0x1c]
lea ecx, [esi + 0x20]
mov dword [esp + 0x14], ecx
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esp + 0x11c]
movups xmmword [ebx + 0x10], xmm0
jmp 0x56511a
mov ecx, esi
mov dword [esp + 0x14], esi
mov ebx, dword ds:[esp + 0x3c]
mov eax, ecx
movaps xmm2, xmmword [esp + 0xf0]
sub eax, ebx
sar eax, 1
mov word [ebx + 2], ax
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ecx, dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x6c], ebx
setne al
add eax, 0x6e
cmp dword [esp + 0x44], 0
mov word [ecx], ax
jne 0x5651a3
cmp dword [esp + 0x2c], 0x800e0000
jne 0x56518b
xor eax, eax
nop dword [eax + eax]
movups xmm0, xmmword [esp + eax + 0x10c]
andnps xmm0, xmm2
movups xmmword [esp + eax + 0x10c], xmm0
add eax, 0x10
cmp eax, 0x20
jl 0x565170
movups xmm0, xmmword [esp + 0x10c]
movups xmmword [ecx + 2], xmm0
movups xmm0, xmmword [esp + 0x11c]
movups xmmword [ecx + 0x12], xmm0
mov esi, dword ds:[esp + 0x18]
add ecx, 0x22
movaps xmm2, xmmword [esp + 0xf0]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
movaps xmm2, xmmword [esp + 0xf0]
cmp ebx, 0x800c0000
mov ebx, dword [esp + 0x30]
mov ecx, 0xd
mov eax, 0xa2
mov dword [esp + 0x4c], 1
cmove eax, ecx
mov ecx, dword [esp + 0x14]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
cmp ebx, 0xffffffff
mov eax, 0xfffffffe
mov dword [esp + 0x14], ecx
cmove ebx, eax
mov eax, dword [esp + 0x70]
mov edx, ebx
mov dword [esp + 0x30], ebx
add esi, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov edx, dword ds:[esp + 0x20]
mov eax, 0x8a
mov dword [esp + 0x28], eax
mov ebx, 1
mov edi, eax
jmp 0x565c8f
cmp eax, 0x80170000
ja 0x565667
je 0x5655fb
nop word [eax + eax]
cmp eax, 0x80130000
ja 0x565328
je 0x5653e5
cmp eax, 0x80100000
je 0x5652fb
nop dword [eax]
cmp eax, 0x80110000
je 0x5653e5
cmp eax, 0x80120000
jne 0x565c6c
mov edi, dword [esp + 0x20]
add esi, 4
mov eax, 0x8a
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], eax
mov ecx, dword [esi]
lea eax, [esi + 4]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, dword [edi + 0x74]
ja 0x5675bc
nop
cmp eax, dword [edi + 0x88]
jbe 0x5652ce
mov dword [edi + 0x88], eax
mov edx, dword [esp + 0x14]
sub ecx, 2
mov edi, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
mov ecx, 0x90
mov word [edx + 4], cx
mov ecx, 2
mov word [edx + 6], ax
mov edx, dword [esp + 0x20]
lea ebx, [ecx - 1]
jmp 0x565c8f
mov edx, dword [esp + 0x20]
add esi, 4
mov dword [esp + 0x18], esi
mov ecx, 0xa7
mov edi, 0x8a
mov eax, dword [esi]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
mov word [eax + 4], cx
mov ecx, 1
jmp 0x565c8f
cmp eax, 0x80140000
je 0x5653e5
cmp eax, 0x80150000
je 0x565385
nop
cmp eax, 0x80160000
jne 0x565c6c
mov eax, dword ds:[esp + 0x48]
mov ecx, dword [esp + 0x14]
and eax, 0x400
movaps xmm2, xmmword [esp + 0xf0]
neg eax
sbb eax, eax
neg eax
add eax, 0x19
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov eax, 0x8a
mov dword [esp + 0x28], eax
cmp dword [esi + 4], ecx
jbe 0x5653a9
cmp dword [esi + 8], 0xa
jb 0x5653a2
jne 0x5653ba
cmp dword ds:[esi + 0xc], 0x28
ja 0x5653ba
mov eax, 0x95
jmp 0x5653bf
cmp dword [esi + 8], 0xa
jne 0x5653ba
cmp dword [esi + 0xc], 0x28
mov eax, 0x95
je 0x5653bf
mov eax, 0x94
mov ecx, dword ds:[esp + 0x14]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
movzx eax, ax
mov word [ecx + 4], ax
mov ecx, 1
add dword [esp + 0x18], 0xc
mov ebx, ecx
jmp 0x565c8f
mov edi, dword [esp + 0x20]
add esi, 4
mov eax, 0x8a
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], eax
lea eax, [esi + 4]
mov ecx, dword [esi]
mov ebx, dword [edi + 0x64]
mov dword [esp + 0x18], eax
mov edx, dword [eax]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x74], edx
mov dword [esp + 0x60], ecx
lea esi, [eax + edx*2]
xor edx, edx
xor eax, eax
mov dword [esp + 0x88], esi
mov dword [esp + 0x50], edx
cmp ax, word [edi + 0x58]
jae 0x5654f2
nop
movzx eax, word [ebx + 8]
cmp ecx, eax
jne 0x5654d8
mov edx, dword [ebx]
mov edi, ecx
test ecx, ecx
je 0x565462
movzx ecx, word [esi]
lea esi, [esi + 2]
movzx eax, word [edx]
lea edx, [edx + 2]
cmp cx, ax
jne 0x5654c5
sub edi, 1
jne 0x565444
mov ecx, dword [esp + 0x60]
cmp word [ebx + 0xa], 0
mov edi, dword [esp + 0x20]
jne 0x5654ee
mov edx, dword ds:[esp + 0x14]
xor eax, eax
cmp dword [esp + 0x2c], 0x80130000
sete al
lea eax, [eax*2 + 0x90]
mov word [edx + 4], ax
mov ax, word [ebx + 4]
mov word [edx + 6], ax
mov eax, dword [ebx + 4]
cmp eax, dword [edi + 0x88]
jbe 0x5654ae
mov dword [edi + 0x88], eax
mov edi, dword ds:[esp + 0x28]
mov ecx, 2
mov edx, dword [esp + 0x20]
lea ebx, [ecx - 1]
jmp 0x565c8f
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
mov esi, dword [esp + 0x88]
mov edi, dword [esp + 0x20]
movzx eax, word [edi + 0x58]
inc edx
add ebx, 0xc
ret
or al, 0x89
push esp
and al, 0x50
cmp edx, eax
jb 0x565430
jmp 0x5654f2
mov edx, dword [esp + 0x50]
movzx eax, word [edi + 0x58]
cmp edx, eax
jb 0x56557b
xor esi, esi
cmp dword [esp + 0x2c], 0x80140000
jne 0x5675ea
lea edx, [esi + 1]
cmp ecx, edx
jbe 0x565542
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x88]
movzx ecx, word [ebx + edx*2]
lea esi, [esi + esi*4]
lea esi, [esi - 0x18]
lea esi, [ecx + esi*2]
cmp esi, 0xffff
ja 0x5675ce
inc edx
cmp edx, edi
jb 0x565520
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 0x74]
ja 0x5675ea
mov edi, dword [esp + 0x28]
test esi, esi
mov edx, dword [esp + 0x20]
mov eax, 0xffff
cmove esi, eax
mov ecx, 0x92
mov eax, dword [esp + 0x14]
mov word [eax + 4], cx
mov ecx, 2
mov word [eax + 6], si
lea ebx, [ecx - 1]
jmp 0x565c8f
mov edi, dword [esp + 0x14]
xor eax, eax
cmp dword [esp + 0x2c], 0x80130000
sete al
xor esi, esi
mov dword [esp + 0x50], esi
lea eax, [eax*2 + 0x90]
mov word [edi + 4], ax
xor eax, eax
mov dword [esp + 0x34], eax
cmp dword [esp + 0x44], eax
jne 0x5655da
push dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
lea eax, [esp + 0x38]
push edx
push eax
lea eax, [esp + 0x5c]
mov edx, ecx
mov ecx, dword [esp + 0x94]
push eax
call fcn.00563c20
test eax, eax
je 0x5676d8
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x50]
inc word [edi + 4]
mov ecx, 3
mov edx, dword [esp + 0x20]
mov word [edi + 6], si
mov word [edi + 8], ax
mov edi, dword [esp + 0x28]
lea ebx, [ecx - 2]
jmp 0x565c8f
mov ebx, dword [esp + 0x30]
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x14]
cmp ebx, 0xffffffff
mov edi, dword [esp + 0x64]
movaps xmm2, xmmword [esp + 0xf0]
cmove ebx, eax
mov eax, dword [esp + 0x70]
mov edx, ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x48]
shr eax, 5
and eax, 1
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x54]
or eax, 0xc
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x4c], 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
cmp eax, 0x801b0000
ja 0x565885
je 0x56582d
cmp eax, 0x80180000
je 0x5656af
nop
cmp eax, 0x80190000
je 0x567605
cmp eax, 0x801a0000
jne 0x565c6c
mov edx, dword [esp + 0x20]
mov eax, 0x86
mov dword [esp + 0x28], eax
mov ebx, 1
mov edi, eax
jmp 0x565c8f
mov ebx, dword [esp + 0x30]
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x5656d2
cmp ebx, 0xffffffff
mov dword [esp + 0x4c], 1
mov eax, 0xfffffffe
cmove ebx, eax
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x70]
mov edx, ebx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x78], eax
cmp edi, 0xf
je 0x56579d
nop dword [eax]
cmp edi, 0x10
je 0x56579d
mov ebx, dword [esp + 0x20]
cmp word [ebx + 0x5e], cx
jbe 0x565735
cmp edi, 3
jne 0x565735
mov eax, dword ds:[ebx]
test byte [eax + 0x24], 0x40
jne 0x565764
mov eax, dword [esp + 0x68]
mov dword [eax], 0xc7
jmp 0x5676d8
cmp edi, 0xe
jne 0x565743
or dword [ebx + 0x70], sym.SystemInformer.exe_Ordinal_1329
jmp 0x565764
cmp edi, 5
je 0x565752
cmp edi, 4
je 0x565752
cmp edi, 1
jne 0x565764
cmp dword [ebx + 0xac], ecx
jne 0x565764
mov dword [ebx + 0xac], 1
cmp dword [esp + 0x80], ecx
jne 0x565777
cmp edi, 0xe
jne 0x565777
mov edi, 0xd
mov ecx, dword [esp + 0x14]
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx], di
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
add esi, 4
mov dword [esp + 0x18], esi
mov eax, dword [esi]
mov ecx, eax
shr ecx, 0x10
movzx edx, ax
cmp edi, 0x10
jne 0x5657e6
test ecx, ecx
jne 0x5657e6
mov ecx, dword [esp + 0x14]
mov eax, 0xd
mov edx, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ebx, dword [esp + 0x14]
xor eax, eax
movaps xmm2, xmmword [esp + 0xf0]
cmp edi, 0x10
sete al
add eax, 0xf
mov word [ebx], ax
add ebx, 2
ret
add cl, byte [ecx + 0x6614245c]
mov dword [ebx], ecx
mov ecx, ebx
add ecx, 2
mov word [ecx], dx
add ecx, 2
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov eax, dword ds:[esp + 0xc8]
add esi, 4
mov ecx, dword [esp + 0x14]
movaps xmm2, xmmword [esp + 0xf0]
mov dword [esp + 0x18], esi
mov ebx, dword [esi]
mov dword [eax], ebx
mov eax, ebx
shr eax, 0x12
and eax, 1
mov dword [esp + 0x48], ebx
mov dword [esp + 0xc0], eax
xor eax, 1
mov dword [esp + 0xc4], eax
mov eax, ebx
shr eax, 3
and eax, 1
add esi, 4
mov dword [esp + 0x8c], eax
mov dword [esp + 0x18], esi
jmp 0x563f50
cmp eax, 0x80200000
je 0x565ad1
cmp eax, 0x80210000
jne 0x565c6c
mov edx, dword [esp + 0x20]
add esi, 4
mov dword [esp + 0x18], esi
xor edi, edi
mov dword [esp + 0x60], ecx
mov dword [esp + 0x34], edi
mov ecx, dword [esi]
lea eax, [esi + 4]
mov ebx, dword [edx + 0x64]
mov dword [esp + 0x18], eax
mov esi, dword [eax]
mov eax, dword [edx + 0x1c]
xor edx, edx
mov dword [esp + 0x74], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x5c], edx
lea eax, [eax + esi*2]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
movzx eax, word [eax + 0x58]
mov esi, eax
mov dword [esp + 0x6c], esi
cmp dx, ax
jae 0x56766d
nop dword [eax]
movzx eax, word [ebx + 8]
cmp ecx, eax
jne 0x565982
mov edx, dword [ebx]
mov edi, ecx
mov esi, dword [esp + 0x28]
test ecx, ecx
je 0x56592e
nop dword [eax + eax]
movzx ecx, word ds:[esi]
lea esi, [esi + 2]
movzx eax, word [edx]
lea edx, [edx + 2]
cmp cx, ax
jne 0x56597a
sub edi, 1
jne 0x565910
cmp dword [esp + 0x2c], 0x80210000
movzx esi, word [ebx + 0xa]
mov edi, dword [ebx + 4]
mov dword [esp + 0x60], esi
mov dword [esp + 0x34], edi
je 0x565a34
mov edx, 1
mov ecx, edi
mov eax, edx
shl eax, cl
cmp edi, 0x20
mov ecx, dword [esp + 0x20]
cmovae eax, edx
or dword [ecx + 0x8c], eax
cmp edi, dword [ecx + 0x88]
jbe 0x565974
mov dword [ecx + 0x88], edi
mov ecx, dword [esp + 0x50]
jmp 0x565986
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x6c]
add ebx, 0xc
inc dword [esp + 0x5c]
movzx eax, ax
cmp dword [esp + 0x5c], eax
jb 0x5658f0
nop
test edi, edi
je 0x56766d
test esi, esi
jne 0x565a3d
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
cmp dword [esp + 0x30], 0xffffffff
jne 0x5659d0
mov edx, 0xfffffffe
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x1c], edx
test byte [esp + 0x48], 8
mov eax, 0
mov ecx, dword [esp + 0x14]
setne al
add eax, 0x71
mov word [ecx], ax
mov eax, 1
mov word [ecx + 2], di
add ecx, 4
mov dword [esp + 0x14], ecx
cmp edi, 0x20
jae 0x565a04
mov ecx, edi
shl eax, cl
mov ecx, dword [esp + 0x14]
or dword [ebx + 0x8c], eax
cmp edi, dword [ebx + 0x88]
jbe 0x566779
mov esi, dword [esp + 0x18]
movaps xmm2, xmmword [esp + 0xf0]
add esi, 4
mov dword [ebx + 0x88], edi
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ebx, dword [esp + 0x20]
jmp 0x565aeb
xor esi, esi
xor edi, edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x50], edi
cmp dword [esp + 0x44], esi
jne 0x565a7c
push dword [esp + 0x20]
lea eax, [esp + 0x38]
mov edx, ecx
push dword [esp + 0x6c]
mov ecx, dword [esp + 0x30]
push eax
lea eax, [esp + 0x5c]
push eax
call fcn.00563c20
test eax, eax
je 0x5676d8
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov eax, 0xfffffffe
mov ecx, dword [esp + 0x14]
cmp ebx, 0xffffffff
mov edx, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xf0]
cmove ebx, eax
test byte [esp + 0x48], 8
mov eax, 0
mov dword [esp + 0x30], ebx
setne al
add eax, 0x73
mov word [ecx], ax
mov word [ecx + 4], si
mov word [ecx + 2], di
add ecx, 6
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ebx, dword [esp + 0x20]
add esi, 4
mov dword [esp + 0x18], esi
mov eax, dword [esi]
mov dword [esp + 0x74], eax
cmp edi, dword [ebx + 0x74]
ja 0x56412c
mov ecx, dword [esp + 0x14]
mov eax, 0x75
movaps xmm2, xmmword [esp + 0xf0]
mov dword [esp + 0x90], 0
mov word [ecx], ax
mov eax, 0xfffffffe
mov word [ecx + 2], di
add ecx, 4
mov esi, dword [esp + 0x18]
mov dword [ebx + 0xb8], 1
mov ebx, dword [esp + 0x30]
cmp ebx, 0xffffffff
mov dword [esp + 0x14], ecx
cmove ebx, eax
mov eax, dword [esp + 0x70]
mov edx, ebx
mov dword [esp + 0x30], ebx
add esi, 4
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov eax, 0x85
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x20]
mov ebx, 1
mov edi, eax
jmp 0x565c8f
mov edi, dword [esp + 0x2c]
cmp edi, 0x80310000
ja 0x566228
je 0x566211
nop
cmp edi, 0x802a0000
ja 0x566166
je 0x5660b2
cmp edi, 0x80260000
ja 0x565c45
nop
je 0x565c39
cmp edi, 0x80230000
je 0x565c2f
cmp edi, 0x80240000
je 0x565bd6
nop word [eax + eax]
cmp edi, 0x80250000
jne 0x565c6c
mov edi, 0x80
jmp 0x565c87
cmp dword ds:[esi + 4], 0x80190000
jne 0x565c25
mov eax, dword [esi + 8]
cmp eax, 0x80340000
jb 0x565bf7
cmp eax, 0x803f0000
jbe 0x565c25
mov ecx, dword [esp + 0x14]
mov eax, 0xa2
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
add esi, 4
mov dword [esp + 0x18], esi
jmp 0x563f50
mov edi, 0x7f
jmp 0x565c87
mov edi, 0x7e
jmp 0x565c87
mov edi, 0x81
jmp 0x565c87
cmp edi, 0x80270000
je 0x565c82
cmp edi, 0x80280000
je 0x565c7b
mov ebx, dword ds:[esp + 0x2c]
cmp ebx, 0x80290000
je 0x566290
mov eax, dword [esp + 0x68]
mov dword [eax], 0xbd
jmp 0x5676d8
mov edi, 0x83
jmp 0x565c87
mov edi, 0x82
mov edx, dword [esp + 0x20]
inc word [edx + 0x5e]
mov eax, dword [esp + 0x14]
inc word [edx + 0x5c]
mov dword [esp + 0x6c], 0
mov word [eax], di
add dword [esp + 0x18], 4
cmp dword [esp + 0x44], 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x94]
cmove eax, dword [esp + 0x6c]
push eax
mov esi, dword [edx + 0xa8]
lea eax, [esp + 0x9c]
push edx
push dword [esp + 0xd4]
lea edx, [esp + 0x4c]
mov dword [esp + 0xa0], 0
push eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0xd0]
push eax
push ecx
push dword [esp + 0x88]
mov ecx, dword [esp + 0x6c]
lea eax, [esp + 0x3c]
push eax
call fcn.00567840
mov dword [esp + 0x88], eax
test eax, eax
je 0x5676d8
mov ecx, dword [esp + 0x20]
mov edx, 0xffff
add word [ecx + 0x5c], dx
test ebx, ebx
je 0x565d53
cmp edi, 0x8a
je 0x565d6c
mov edx, dword [esp + 0x4c]
test eax, eax
mov eax, 1
cmovg edx, eax
mov dword [esp + 0x4c], edx
mov edx, 0xffff
lea eax, [edi - 0x7e]
cmp eax, 5
ja 0x565d5f
add word [ecx + 0x5e], dx
nop
cmp edi, 0x8a
jne 0x565e96
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x565ea8
mov ecx, dword [esp + 0x14]
xor edx, edx
nop
movzx eax, word [ecx + 2]
inc edx
cmp word [ecx + eax*2], 0x79
lea ecx, [ecx + eax*2]
jne 0x565d80
mov ecx, dword ds:[esp + 0x14]
mov eax, 0xa7
cmp word [ecx + 4], ax
jne 0x565de5
cmp edx, 1
jg 0x567687
mov edx, dword ds:[esp + 0x1c]
mov eax, 0x94
movaps xmm2, xmmword [esp + 0xf0]
mov word [ecx + 4], ax
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x40]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
cmp edx, 2
jg 0x5676a5
cmp edx, 1
jne 0x565e46
mov edx, dword [esp + 0x40]
mov eax, 0xfffffffe
mov ebx, dword [esp + 0x30]
mov ecx, eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x38], edx
mov edx, ebx
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x90], 0
jmp 0x565f6d
cmp dword [esp + 0x88], 0
jle 0x565f06
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
mov edx, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], 1
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x90], 0
jmp 0x565f5f
mov eax, dword ds:[esp + 0x44]
test eax, eax
je 0x565f06
mov edi, dword ds:[esp + 0x44]
mov ecx, 0x7fffffeb
mov esi, dword [esp + 0x94]
mov edx, dword [edi]
sub ecx, edx
lea eax, [esi - 4]
cmp ecx, eax
jb 0x5676bf
mov ecx, dword [esp + 0x14]
lea eax, [esi - 4]
movaps xmm2, xmmword [esp + 0xf0]
add eax, edx
mov edx, 2
mov dword [edi], eax
mov word [ecx + 6], dx
mov edx, dword [esp + 0x1c]
mov dword [ecx + 2], 0x790002
add ecx, 8
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], ecx
cmp edi, 0xa7
je 0x566759
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x38], edx
mov edx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x90], 0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ecx
cmp edi, 0x84
jb 0x566025
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
cmp ebx, 0xffffffff
jne 0x565fc7
cmp ecx, ebx
je 0x565fc7
nop
cmp ecx, 0xfffffffe
jae 0x565fb1
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x70], edx
mov edx, 0xfffffffe
mov dword [esp + 0x30], ecx
mov dword [esp + 0x90], 1
mov dword [esp + 0x1c], edx
jmp 0x565fee
mov edx, 0xfffffffe
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x1c], edx
jmp 0x565fee
cmp ecx, 0xfffffffe
jae 0x565fee
cmp eax, 0xfffffffe
jb 0x565ff7
mov eax, dword [esp + 0xb8]
mov dword [esp + 0xa0], eax
mov eax, ecx
or eax, esi
mov dword [esp + 0x98], eax
cmp eax, 0xfffffffe
jae 0x566775
mov esi, dword ds:[esp + 0x18]
mov edi, dword [esp + 0xa0]
add esi, 4
mov ecx, dword [esp + 0x14]
movaps xmm2, xmmword [esp + 0xf0]
mov dword [esp + 0x64], edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], esi
jmp 0x563f50
cmp edi, 0x7e
je 0x56604c
mov dword ds:[esp + 0x4c], eax
mov dword [esp + 0x14], ecx
cmp edi, 0x82
jne 0x566779
mov edx, dword ds:[esp + 0x98]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ecx
cmp edx, 0xfffffffe
jae 0x566759
cmp dword [esp + 0x9c], 0xfffffffe
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ecx
jae 0x566759
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0xa0]
add esi, 4
movaps xmm2, xmmword [esp + 0xf0]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x64], edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xbc], 1
mov ecx, dword [ebx + 0x60]
mov dword [ebx + 0xb0], 1
test ecx, ecx
je 0x56611c
mov edx, dword [esp + 0x14]
nop word [eax + eax]
mov ax, word [ecx + 6]
cmp ax, word [ebx + 0x5e]
jb 0x566114
mov eax, dword [esp + 0x44]
test eax, eax
je 0x5660fb
add dword [eax], 3
jmp 0x56610e
mov eax, 0xa5
mov word [edx], ax
mov ax, word [ecx + 4]
mov word [edx + 2], ax
add edx, 4
mov ecx, dword [ecx]
test ecx, ecx
jne 0x5660e0
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
mov ecx, dword ds:[esp + 0x14]
xor ax, ax
cmp ax, word [ebx + 0x5e]
sbb eax, eax
neg eax
add eax, 0xa3
mov word [ecx], ax
add ecx, 2
cmp dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x14], ecx
jne 0x566779
mov esi, dword [esp + 0x18]
movaps xmm2, xmmword [esp + 0xf0]
add esi, 4
mov dword [esp + 0x30], 0xfffffffe
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ebx, dword [esp + 0x2c]
cmp ebx, 0x802e0000
ja 0x5661b1
je 0x5661cc
nop dword [eax]
cmp ebx, 0x802b0000
je 0x5661da
cmp ebx, 0x802c0000
je 0x5661da
nop dword [eax + eax]
cmp ebx, 0x802d0000
jne 0x565c6c
jmp 0x566290
cmp ebx, 0x802f0000
je 0x566215
nop dword [eax]
cmp ebx, 0x80300000
jne 0x565c6c
mov eax, dword [esp + 0x20]
mov dword [eax + 0xb4], 1
mov ecx, dword [esp + 0x14]
lea eax, [ebx + 0x7fd70000]
movaps xmm2, xmmword [esp + 0xf0]
shr eax, 0x10
mov ax, word [eax*4 + 0x5db200]
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
mov dword [eax + 0xb4], 1
jmp 0x566290
mov ebx, dword [esp + 0x2c]
cmp ebx, 0x80390000
ja 0x56645b
je 0x56644c
nop
cmp ebx, 0x80350000
ja 0x566425
je 0x566278
cmp ebx, 0x80320000
je 0x5663ee
nop
cmp ebx, 0x80330000
je 0x566285
cmp ebx, 0x80340000
jne 0x565c6c
xor ecx, ecx
mov ebx, 0x10000
jmp 0x5667a3
mov eax, dword [esp + 0x20]
or dword [eax + 0x70], 0x1000
mov ecx, dword [esp + 0x14]
lea eax, [ebx + 0x7fd70000]
shr eax, 0x10
xor esi, esi
mov dword [esp + 0x34], esi
mov ax, word [eax*4 + 0x5db200]
mov word [ecx], ax
add ecx, 2
mov edx, dword [esp + 0x18]
add edx, 4
mov dword [esp + 0x18], edx
mov ebx, dword [edx]
mov dword [esp + 0x40], ecx
add ecx, 2
mov dword [esp + 0x14], ecx
test ebx, ebx
jle 0x5663bf
cmp dword [esp + 0x80], esi
je 0x56638e
nop
add edx, 4
mov dword [esp + 0x18], edx
mov ecx, dword [edx]
cmp ecx, 0xffff
ja 0x566307
mov word [esp + 0x12c], cx
mov edi, 1
jmp 0x566338
sub ecx, 0x10000
mov edi, 2
mov eax, ecx
and ecx, 0x3ff
shr eax, 0xa
or eax, 0xd800
or ecx, 0xdc00
mov word [esp + 0x12c], ax
mov word [esp + 0x12e], cx
mov eax, dword ds:[esp + 0x44]
test eax, eax
je 0x56634f
add dword [eax], edi
mov ecx, dword [esp + 0x14]
jmp 0x566380
lea esi, ds:[edi + edi]
push esi
lea eax, [esp + 0x130]
push eax
push dword [esp + 0x1c]
call fcn.00586330
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, dword [esp + 0x18]
add ecx, esi
mov esi, dword [esp + 0x34]
add esi, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x34], esi
sub ebx, 1
jne 0x5662e0
jmp 0x5663bf
mov edi, dword [esp + 0x44]
add edx, 4
mov dword [esp + 0x18], edx
mov ax, word [edx]
mov word [esp + 0x12c], ax
test edi, edi
je 0x5663af
inc dword [edi]
jmp 0x5663ba
mov word [ecx], ax
add ecx, 2
mov edx, dword [esp + 0x18]
inc esi
sub ebx, 1
jne 0x566392
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
movaps xmm2, xmmword [esp + 0xf0]
mov word [eax], si
xor eax, eax
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
mov eax, dword ds:[esp + 0x20]
mov ecx, dword [esp + 0x14]
movaps xmm2, xmmword [esp + 0xf0]
or dword [eax + 0x70], 0x1000
mov eax, 0x9e
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
add esi, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
jmp 0x563f50
cmp ebx, 0x80360000
je 0x566278
cmp ebx, 0x80370000
je 0x56644c
nop dword [eax]
cmp ebx, 0x80380000
jne 0x565c6c
mov ecx, 1
mov ebx, 0x10000
jmp 0x5667a3
nop dword [eax + eax]
cmp ebx, 0x803d0000
ja 0x5664a5
je 0x566791
cmp ebx, 0x803a0000
je 0x566498
nop
cmp ebx, 0x803b0000
je 0x566498
cmp ebx, 0x803c0000
jne 0x565c6c
xor ecx, ecx
lea ebx, [ecx + 1]
jmp 0x5667a3
cmp ebx, 0x803e0000
je 0x566791
cmp ebx, 0x803f0000
je 0x566791
nop dword [eax]
cmp ebx, 0x80000000
jae 0x565c6c
mov edi, dword [esi]
mov ecx, dword ds:[esp + 0x80]
mov dword [esp + 0x4c], 1
test ecx, ecx
jne 0x5664f5
cmp dword [esp + 0xa4], ecx
je 0x5665b5
test byte ds:[esp + 0x48], 8
je 0x564699
mov eax, edi
mov ebx, 0x80
cdq
idiv ebx
movzx eax, word [eax*2 + 0x5f3170]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x5e0570]
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x5dc363]
test al, al
je 0x564699
mov ecx, dword [esp + 0x14]
movzx eax, al
mov dword [ecx], 0xa0010
mov word [ecx + 4], ax
add ecx, 6
cmp dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x14], ecx
jne 0x566759
mov esi, dword [esp + 0x18]
mov edx, 0xfffffffe
movaps xmm2, xmmword [esp + 0xf0]
add esi, 4
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], esi
jmp 0x563f50
lea eax, [edi - 0x10000]
mov ebx, 2
mov ecx, eax
and eax, 0x3ff
shr ecx, 0xa
or ecx, 0xd800
or eax, 0xdc00
mov word [esp + 0x12e], ax
mov di, cx
movzx eax, cx
movzx eax, ax
jmp 0x5665c0
movzx eax, di
mov ebx, 1
mov di, ax
test byte ds:[esp + 0x48], 8
lea esi, [ebx + ebx]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, ax
mov dword [esp + 0x6c], eax
mov eax, 0
setne al
mov word [esp + 0x12c], di
add eax, 0x1d
mov word [ecx], ax
add ecx, 2
push esi
lea eax, [esp + 0x130]
mov dword [esp + 0x18], ecx
push eax
push ecx
call fcn.00586330
mov ecx, dword [esp + 0x20]
add esp, 0xc
add ecx, esi
cmp word [esp + 0x34], 0xd
mov dword [esp + 0x14], ecx
je 0x56662a
cmp word [esp + 0x6c], 0xa
jne 0x56663a
mov eax, dword [esp + 0x20]
or dword [eax + 0x70], 0x800
jmp 0x56663e
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
cmp esi, 0xffffffff
jne 0x5666c5
mov esi, dword [esp + 0x64]
mov edx, 0xfffffffe
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x78], esi
cmp ebx, 1
je 0x566688
cmp dword [esp + 0x8c], 0
je 0x566688
mov dword [esp + 0x54], edx
mov dword [esp + 0x30], edx
jmp 0x566713
movzx esi, di
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x30], esi
cmp ebx, 1
je 0x566713
movzx esi, word ds:[ecx - 2]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x64], esi
mov dword [esp + 0x54], eax
jmp 0x566713
mov edx, dword [esp + 0x70]
mov dword [esp + 0x38], edx
mov edx, esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x78], esi
cmp ebx, 1
je 0x5666fa
cmp dword [esp + 0x8c], 0
jne 0x566713
movzx ebx, word [ecx - 2]
mov dword [esp + 0x64], ebx
mov ebx, dword [eax + 0xa8]
or ebx, dword [esp + 0x8c]
mov dword [esp + 0x54], ebx
cmp dword ds:[esp + 0xac], 0
je 0x566779
mov esi, dword [esp + 0x18]
and dword [esp + 0x48], 0xfffffff7
add esi, 4
movaps xmm2, xmmword [esp + 0xf0]
mov dword [esp + 0x8c], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0x18], esi
jmp 0x563f50
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add esi, 4
movaps xmm2, xmmword [esp + 0xf0]
mov dword [esp + 0x18], esi
jmp 0x563f50
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
movaps xmm2, xmmword [esp + 0xf0]
add esi, 4
mov dword [esp + 0x18], esi
jmp 0x563f50
add esi, 4
mov dword [esp + 0x18], esi
mov ecx, dword [esi]
add esi, 4
mov dword [esp + 0x18], esi
mov ebx, dword [esi]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ecx
test eax, eax
je 0x5667d5
test ecx, ecx
je 0x5667d5
xor edx, edx
mov eax, 2
cmp ecx, ebx
mov edi, 1
cmove eax, edx
mov dword [esp + 0x50], eax
jmp 0x56680d
xor edi, edi
mov eax, 2
cmp ecx, ebx
mov dword [esp + 0x4c], edi
cmove eax, edi
mov dword [esp + 0x50], eax
test ecx, ecx
jne 0x566811
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x30], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x4c], edi
mov edx, eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x803b0000
ja 0x566865
je 0x566892
cmp eax, 0x80380000
ja 0x56685b
nop dword [eax]
je 0x566892
cmp eax, 0x80350000
je 0x566892
cmp eax, 0x80360000
jmp 0x566880
cmp eax, 0x80390000
jmp 0x566880
cmp eax, 0x803c0000
je 0x5668a7
cmp eax, 0x803e0000
je 0x566892
cmp eax, 0x803f0000
je 0x5668a7
mov eax, dword [esp + 0xc0]
jmp 0x5668ae
mov dword [esp + 0x2c], 0
mov dword [esp + 0x5c], 1
jmp 0x5668ba
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], eax
movzx eax, word [eax]
movzx ecx, ax
add ecx, 0xffffffe3
mov dword [esp + 0x58], eax
cmp ecx, 0x85
ja case.0x5668e2.33
movzx eax, byte [ecx + 0x56774c]
jmp dword [eax*4 + 0x567734]
mov edx, dword [esp + 0x24]
cmp ebx, 1
jne 0x5668fe
cmp edx, ebx
je case.0x5668e2.162
cmp dword [esp + 0x80], 0
mov edi, dword [ecx*4 + 0x5db3d0]
je 0x566965
mov eax, dword [esp + 0x14]
mov ecx, 0xfc00
mov ax, word [eax - 2]
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x566965
mov eax, dword [esp + 0x14]
lea ecx, [eax - 4]
sub eax, ecx
sar eax, 1
mov dword [esp + 0x60], eax
add eax, eax
push eax
push ecx
lea eax, [esp + 0x134]
push eax
call fcn.00586330
add esp, 0xc
mov dword [esp + 0x28], 0xffffffff
or edx, 0xffffffff
jmp 0x567235
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x60], 1
movzx eax, word [eax - 2]
mov word [esp + 0x12c], ax
cmp cx, 0x1e
ja 0x567214
cmp edx, 1
jbe 0x567214
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xa8]
mov dword [esp + 0x54], eax
cmp cx, 0x1e
jne 0x567214
or eax, 1
mov dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x54], eax
or edx, 0xffffffff
jmp 0x567235
test ebx, ebx
jne 0x5669dc
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
jmp 0x56757b
mov ecx, dword [esp + 0x24]
cmp ebx, 1
jne 0x5669f1
cmp ecx, ebx
je case.0x5668e2.162
test ecx, ecx
jne 0x566a65
nop dword [eax]
cmp ebx, 0x10000
jne 0x566a2a
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
add eax, 0x62
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp 0x567197
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edx
cmp ebx, 1
jne 0x566a98
mov ecx, dword ds:[esp + 0x14]
mov eax, dword [esp + 0x2c]
add eax, 0x66
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edx
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp 0x567197
cmp ecx, 1
jne 0x566a98
cmp ebx, 0x10000
jne 0x566a98
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
add eax, 0x64
mov word [ecx], ax
add ecx, 2
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp 0x567197
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
add eax, 0x68
mov word [edx], ax
add edx, 2
xor eax, eax
mov dword [esp + 0x14], edx
mov word [edx], cx
mov ecx, edx
add ecx, 2
cmp ebx, 0x10000
cmove ebx, eax
mov word [ecx], bx
add ecx, 2
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp 0x567197
mov edx, dword ds:[esp + 0x24]
cmp ebx, 1
jne 0x566b05
cmp edx, ebx
jne 0x566b05
cmp dword [esp + 0x5c], 0
je case.0x5668e2.162
nop dword [eax]
jmp 0x566b36
test edx, edx
je 0x566be2
cmp edx, 1
jne 0x566b2c
nop word [eax + eax]
cmp ebx, 0x10000
je 0x566be2
mov ecx, edx
cmp edx, ebx
jne 0x566b39
lea ecx, [edx - 1]
cmp dword ds:[esp + 0x44], 0
je 0x566b96
mov eax, ecx
lea edi, [ecx + ecx]
mov ecx, 2
imul ecx
test edx, edx
jg 0x5676bf
nop word [eax + eax]
jl 0x566b71
cmp eax, 0x7fffffff
ja 0x5676bf
mov edx, dword ds:[esp + 0x44]
mov eax, 0x7fffffeb
mov ecx, dword [edx]
sub eax, ecx
cmp eax, edi
jb 0x5676bf
lea eax, [edi + ecx]
mov dword [edx], eax
mov edx, dword [esp + 0x24]
jmp 0x566bc0
test ecx, ecx
jle 0x566bc0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, esi
add esi, 4
sub ecx, 1
jne 0x566ba6
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
cmp edx, ebx
je 0x567193
cmp ebx, 0x10000
je 0x566bda
sub ebx, edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], 0
mov edx, dword [esp + 0x3c]
mov ecx, 0x86
mov dword [esp + 0x88], 0xffffffff
mov eax, dword [edx]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x14]
mov dword [edx], 0x40086
add eax, 8
mov dword [edx + 8], 0x40079
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0x94], 6
jmp 0x566c33
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
sub eax, edx
xor edi, edi
mov edx, dword [esp + 0x24]
sar eax, 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], edi
mov dword [esp + 0x60], edi
cmp ebx, 1
jne 0x566c6a
cmp edx, ebx
jne 0x566c6a
nop word [eax + eax]
cmp dword [esp + 0x5c], edi
je case.0x5668e2.162
cmp cx, word [esp + 0xd0]
jne 0x566ca7
mov ecx, dword [esp + 0x3c]
mov edx, 0x94
cmp word [ecx + 4], dx
mov edx, dword [esp + 0x24]
jne 0x566cd3
movzx eax, word [ecx + 2]
cmp word [ecx + eax*2], 0x78
jne case.0x5668e2.162
mov eax, dword [esp + 0x34]
jmp 0x566cd3
cmp cx, word [esp + 0xd4]
mov ecx, dword [esp + 0x3c]
jae 0x566cd3
nop dword [eax]
cmp ebx, 0x10000
jne 0x566cd3
lea ebx, [edx + 1]
mov dword [esp + 0x28], ebx
test edx, edx
jne 0x566db6
nop dword [eax + eax]
cmp ebx, 1
jbe 0x566d38
cmp ebx, 0x10000
je 0x566d38
add eax, eax
push eax
push ecx
lea eax, [ecx + 6]
push eax
call fcn.00586330
mov ecx, dword [esp + 0x48]
add esp, 0xc
mov eax, dword [esp + 0x2c]
add dword [esp + 0x14], 6
add eax, 0x96
dec ebx
mov word [ecx], ax
lea edi, [ecx + 4]
lea eax, [ecx + 6]
mov dword [ecx + 2], 0x86
mov esi, dword [esp + 0x18]
mov dword [esp + 0x3c], eax
jmp 0x566e8f
add eax, eax
lea esi, [ecx + 2]
push eax
push ecx
push esi
call fcn.00586330
mov ecx, dword [esp + 0x20]
add esp, 0xc
add ecx, 2
mov dword [esp + 0x14], ecx
test ebx, ebx
jne 0x566d74
mov eax, dword [esp + 0x3c]
mov edx, 0xa6
mov dword [esp + 0x3c], esi
mov word [eax], dx
mov esi, dword [esp + 0x18]
jmp 0x56757b
mov edx, dword ds:[esp + 0x3c]
xor edi, edi
mov eax, dword [esp + 0x2c]
add eax, 0x96
mov dword [esp + 0x60], edx
mov dword [esp + 0x3c], esi
mov word [edx], ax
mov edx, dword [esp + 0x14]
mov dword [esp + 0x14], edx
cmp ebx, 0x10000
je 0x567009
mov esi, dword [esp + 0x18]
dec ebx
jmp 0x566e8f
cmp edx, 1
jbe 0x566e81
nop
cmp dword [esp + 0x44], edi
je 0x566e25
lea eax, [edx - 1]
mov edx, eax
imul edx, dword [esp + 0x94]
mov dword [esp + 0x6c], edx
mul dword [esp + 0x94]
test edx, edx
jg 0x5676bf
jl 0x566dfb
cmp eax, 0x7fffffff
ja 0x5676bf
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x6c]
mov ecx, dword [eax]
mov eax, 0x7fffffeb
sub eax, ecx
cmp eax, edx
jb 0x5676bf
lea eax, ds:[edx + ecx]
mov ecx, dword [esp + 0x44]
mov dword [ecx], eax
jmp 0x566e7d
cmp dword [esp + 0x90], edi
je 0x566e4d
cmp dword [esp + 0x54], 0xfffffffe
jb 0x566e4d
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x54], ebx
mov edi, dword [esp + 0x14]
lea esi, [eax + eax]
lea ebx, [edx - 1]
push esi
push ecx
push edi
call fcn.00586330
mov ecx, dword [esp + 0x48]
add esp, 0xc
add edi, esi
sub ebx, 1
jne 0x566e57
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x24]
cmp ebx, 0x10000
je 0x567005
sub ebx, edx
cmp ebx, 0x10000
je 0x567005
cmp dword [esp + 0x44], 0
je 0x566f51
test ebx, ebx
je 0x566f51
mov eax, dword [esp + 0x94]
add eax, 5
mov ecx, eax
imul ecx, ebx
mul ebx
sub ecx, 4
test edx, edx
jg 0x5676bf
jl 0x566edb
cmp eax, 0x7fffffff
ja 0x5676bf
mov ebx, dword [esp + 0x44]
mov eax, 0x7fffffeb
mov edx, dword [ebx]
sub eax, edx
cmp eax, ecx
jb 0x5676bf
lea eax, [ecx + edx]
mov dword [ebx], eax
mov ecx, dword [esp + 0x14]
nop dword [eax]
test edi, edi
je 0x567197
mov ebx, 0x79
nop dword [eax]
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 0x566fe5
neg eax
lea edi, [edi + eax*2]
movzx eax, dx
mov word [ecx + 2], ax
add ecx, 4
mov dword [esp + 0x14], ecx
mov word [esi + 2], ax
test edi, edi
jne 0x566f10
mov esi, dword [esp + 0x18]
jmp 0x567197
cmp ebx, 1
jb 0x566ef5
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x34]
add eax, 0x96
mov ecx, dword [esp + 0x14]
add esi, esi
mov dword [esp + 0x6c], eax
nop dword [eax]
mov word ds:[ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
cmp ebx, 1
je 0x566fba
mov eax, 0x86
mov word [ecx], ax
test edi, edi
jne 0x566fa5
xor eax, eax
jmp 0x566fac
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 + 0x14], ecx
push esi
push dword [esp + 0x40]
push ecx
call fcn.00586330
mov ecx, dword [esp + 0x20]
dec ebx
mov eax, dword [esp + 0x78]
add ecx, esi
add esp, 0xc
mov dword [esp + 0x14], ecx
cmp ebx, 1
jae 0x566f70
mov esi, dword [esp + 0x18]
jmp 0x566ef9
movzx eax, dx
mov word [ecx + 2], ax
add ecx, 4
mov word [esi + 2], ax
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp 0x567197
mov edx, dword [esp + 0x14]
movzx eax, word [edx - 2]
lea esi, [edx - 4]
add eax, eax
mov edi, esi
sub edi, eax
mov edx, 0x84
movzx ecx, word [edi]
mov eax, ecx
cmp cx, dx
jne 0x567045
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x567185
mov eax, 0x86
mov word [edi], ax
mov edx, eax
jmp 0x567059
mov ecx, 0x85
mov edx, eax
cmp ax, cx
je 0x567185
mov ebx, dword [esp + 0x5c]
cmp dword [esp + 0x44], 0
movzx ecx, dx
jne 0x5670b0
cmp dword [esp + 0x88], 0
movzx eax, dx
jge 0x567081
lea eax, [edx + 5]
mov word [edi], ax
movzx eax, ax
mov edx, 0x8a
movzx ecx, ax
cmp ax, dx
jne 0x5670b5
movzx eax, word [edi + 2]
mov ecx, edx
cmp word [edi + eax*2], 0x78
lea eax, [edx + 5]
je 0x5670ba
mov word [edi], ax
mov ecx, eax
jmp 0x5670ba
mov edx, 0x8a
mov eax, 0x8f
nop word [eax + eax]
test ebx, ebx
je 0x567173
cmp cx, dx
je 0x5670f1
cmp cx, ax
je 0x5670f1
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x14]
mov word [edi], ax
mov eax, 0x7c
mov word [esi], ax
jmp 0x567141
mov esi, dword [esp + 0x14]
sub esi, edi
sar esi, 1
lea eax, [esi + esi]
push eax
lea eax, [edi + 4]
push edi
push eax
call fcn.00586330
mov ecx, dword [esp + 0x20]
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 + 0x14], ecx
mov word [edi + 2], ax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x567155
mov edx, 0x98
mov word [eax], dx
cmp dword ds:[esp + 0x24], 2
mov esi, dword [esp + 0x18]
jae 0x5671a6
mov dword [esp + 0x5c], 0
jmp 0x567197
mov eax, dword ds:[esp + 0x2c]
add eax, 0x7a
mov word [esi], ax
jmp 0x567573
mov eax, dword [esp + 0x2c]
add eax, 0x7a
mov word [esi], ax
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
cmp dword ds:[esp + 0x5c], 0
je 0x56757b
mov eax, dword [esp + 0x40]
movzx ecx, word [eax]
lea eax, [ecx - 0x1d]
cmp eax, 0x53
ja case.0x5671c0.33
movzx eax, byte [eax + 0x5677e8]
jmp dword [eax*4 + 0x5677d4]
mov ecx, dword [esp + 0x58]
cmp cx, 0x17
jae 0x5676ce
cmp ebx, 1
jne 0x5671ea
nop
cmp dword [esp + 0x24], ebx
je case.0x5668e2.162
mov dword ds:[esp + 0x60], 0
mov edi, 0x34
cmp cx, 0x10
je 0x567225
cmp cx, 0xf
je 0x567225
mov dword ds:[esp + 0x28], 0xffffffff
or edx, 0xffffffff
jmp 0x567235
mov eax, dword [esp + 0x3c]
movzx edx, word [eax + 2]
movzx eax, word [eax + 4]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], eax
test ebx, ebx
je case.0x5668e2.162
add dword [esp + 0x2c], edi
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5672e8
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
movzx eax, ax
lea ecx, [esi + 2]
mov dword [esp + 0x14], ecx
cmp ebx, 0x10000
jne 0x5672bd
add eax, 0x21
mov word [esi], ax
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x56742c
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x130]
push eax
push ecx
call fcn.00586330
mov ecx, dword [esp + 0x20]
add esp, 0xc
add ecx, esi
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x18]
jmp 0x567197
mov edi, dword [esp + 0x58]
cmp ebx, 1
jne 0x5672d6
add eax, 0x25
mov dword [esp + 0x14], ecx
mov word [esi], ax
jmp 0x567285
add eax, 0x27
mov word [esi], ax
mov word [ecx], bx
add ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x567285
cmp eax, 1
jne 0x567348
cmp ebx, 0x10000
jne 0x567317
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
add eax, 0x23
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x567281
mov dword ds:[esp + 0x14], ecx
cmp ebx, 1
je case.0x5668e2.162
mov eax, dword [esp + 0x2c]
add eax, 0x27
mov word [ecx], ax
add ecx, 2
lea eax, [ebx - 1]
mov word [ecx], ax
add ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x567281
mov ecx, dword [esp + 0x3c]
lea eax, [edi + 0x29]
mov word [ecx], ax
mov eax, dword [esp + 0x24]
mov word [ecx + 2], ax
add ecx, 4
mov dword [esp + 0x14], ecx
cmp ebx, eax
je 0x567281
mov eax, dword [esp + 0x60]
test eax, eax
je 0x5673c9
lea esi, [eax + eax]
push esi
lea eax, [esp + 0x130]
push eax
push ecx
call fcn.00586330
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, dword [esp + 0x34]
add ecx, esi
mov edi, dword [esp + 0x58]
mov dword [esp + 0x14], ecx
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add ecx, 2
movzx eax, ax
cmp ebx, 0x10000
jne 0x5673ef
mov ebx, dword [esp + 0x14]
add eax, 0x21
mov dword [esp + 0x14], ecx
mov word [ebx], ax
jmp 0x567289
mov edi, dword [esp + 0x58]
mov word [ecx], di
add ecx, 2
mov dword [esp + 0x14], ecx
test edx, edx
js 0x56739c
mov esi, dword [esp + 0x28]
mov word [ecx], dx
mov word [ecx + 2], si
add ecx, 4
mov dword [esp + 0x14], ecx
jmp 0x5673a0
sub ebx, dword [esp + 0x24]
cmp ebx, 1
jne 0x56740f
mov ebx, dword [esp + 0x14]
add eax, 0x25
mov dword [esp + 0x14], ecx
mov word [ebx], ax
jmp 0x567289
mov edx, dword [esp + 0x14]
add eax, 0x27
mov word [edx], ax
mov edx, dword [esp + 0x34]
mov word [ecx], bx
add ecx, 2
mov dword [esp + 0x14], ecx
jmp 0x567289
mov word [ecx], di
add ecx, 2
mov dword [esp + 0x14], ecx
test edx, edx
js 0x5672b4
mov word [ecx], dx
mov word [ecx + 2], si
add ecx, 4
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp 0x567197
mov eax, dword ds:[esp + 0x40]
movzx eax, word [eax + 4]
cmp eax, 0x10
je 0x567485
cmp eax, 0xf
je 0x567485
movzx ecx, byte [ecx + 0x5f7690]
xor eax, eax
add ecx, eax
jmp 0x5674ed
movzx ecx, byte [ecx + 0x5f7690]
mov eax, 2
add ecx, eax
jmp 0x5674ed
cmp dword [esp + 0x80], 0
mov eax, dword [esp + 0x40]
movzx ecx, byte [ecx + 0x5f7690]
lea ecx, [eax + ecx*2]
mov dword [esp + 0x40], ecx
je case.0x5671c0.33
mov ax, word [ecx - 2]
mov edx, 0xfc00
and ax, dx
mov edx, 0xd800
cmp ax, dx
jne case.0x5671c0.33
lea eax, [ecx + 2]
jmp 0x5674f4
add dword ds:[esp + 0x40], 0x22
jmp case.0x5671c0.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 + 0x14]
mov edi, ebx
mov ecx, dword [esp + 0x40]
sub edi, ecx
sar edi, 1
test edi, edi
jle case.0x5668e2.162
movzx eax, word [ecx]
cmp eax, 0x76
jae 0x567533
mov al, byte [eax + 0x5db420]
test al, al
je 0x567533
movzx eax, al
mov word [ecx], ax
jmp 0x567573
mov ecx, dword [esp + 0x40]
lea eax, [edi + edi]
push eax
push ecx
lea eax, [ecx + 4]
push eax
call fcn.00586330
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
ret
or byte [ebx - 0x76bfdbbc], cl
pop esp
and al, 0x14
mov word [eax + 2], cx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword ds:[esp + 0x20]
mov eax, dword [esp + 0x50]
movaps xmm2, xmmword [esp + 0xf0]
or dword [edx + 0xa8], eax
add esi, 4
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], esi
jmp 0x563f50
mov edx, dword [esp + 0x68]
cmp ebx, ecx
sbb eax, eax
and eax, 0x22
add eax, 0x98
mov dword [edx], eax
jmp 0x5676d8
mov eax, dword [esp + 0x68]
mov dword [eax], 0x73
mov dword [edi + 0x54], ecx
jmp 0x5676d8
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
mov dword [eax], 0xa1
mov eax, dword [esp + 0x74]
add eax, edx
mov dword [ecx + 0x54], eax
jmp 0x5676d8
mov eax, dword ds:[esp + 0x68]
mov dword [eax], 0x73
mov eax, dword [esp + 0x74]
mov dword [edi + 0x54], eax
jmp 0x5676d8
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0x70]
mov dword [ecx], eax
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0x30]
mov dword [ecx], eax
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0x64]
mov dword [ecx], eax
mov ecx, dword [esp + 0xe4]
mov eax, dword [esp + 0x54]
mov dword [ecx], eax
mov ecx, dword [esp + 0xe8]
mov eax, dword [esp + 0x14]
mov dword [ecx], eax
mov eax, dword [esp + 0xec]
mov dword [eax], esi
mov eax, dword [esp + 0xa8]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x150]
xor ecx, esp
call fcn.00583f9f
mov esp, ebp
pop ebp
ret 0x24
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x74]
mov dword [eax], 0x73
mov eax, dword [esp + 0x20]
mov dword [eax + 0x54], ecx
jmp 0x5676d8
mov eax, dword ds:[esp + 0x20]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x54], ecx
mov eax, dword [esp + 0x68]
mov dword [eax], 0x9a
jmp 0x5676d8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x54], ecx
mov eax, dword [esp + 0x68]
mov dword [eax], 0x7f
jmp 0x5676d8
mov eax, dword [esp + 0x68]
mov dword [eax], 0x78
jmp 0x5676d8
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.00583f9f
mov esp, ebp
pop ebp
ret 0x24