Function at 0x10010340
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x100b6374]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov ecx, 1
call fcn.10010170
push 0x20
call dword [sym.imp.d3d9.dll_Direct3DCreate9]
mov ebx, eax
xor ecx, ecx
mov dword [esp + 0x2c], ebx
test ebx, ebx
jne 0x100103dc
movaps xmm0, xmmword [0x100adac0]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x435b0c58
mov dword [esp + 0x20], 0x4245475e
mov word [esp + 0x24], 0xd4b
mov byte [esp + 0x26], cl
nop dword [eax]
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x19
jb 0x100103a0
lea edx, [esp + 0xd]
mov byte [esp + 0x26], 0
mov ecx, 0x101824e8
call fcn.10016ab0
push eax
call fcn.10016d60
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.1006def6
mov esp, ebp
pop ebp
ret
movaps xmm0, xmmword [0x100adfc0]
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x43415845
mov dword [esp + 0x20], 0xb4d44
nop dword [eax + eax]
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x16
jb 0x10010400
lea edx, [esp + 0xd]
mov byte [esp + 0x23], 0
mov ecx, 0x101824e8
call fcn.10016ab0
push eax
call fcn.10016d60
add esp, 4
lea eax, [esp + 0x34]
push 0x38
push 0
push eax
call fcn.10070af0
mov edi, dword [sym.imp.USER32.dll_FindWindowA]
add esp, 0xc
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
nop word [eax + eax]
movaps xmm0, xmmword [0x100ae0f0]
xor ecx, ecx
movups xmmword [esp + 0xc], xmm0
mov word [esp + 0x1c], 0x69
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x10
jb 0x10010465
lea eax, [esp + 0xd]
mov byte [esp + 0x1d], 0
push eax
push 0
call edi
test eax, eax
jne 0x1001048b
push 0x23
call esi
jmp 0x10010450
movaps xmm0, xmmword [0x100ae020]
xor ecx, ecx
mov dword [esp + 0x4c], 1
movups xmmword [esp + 0xc], xmm0
mov word [esp + 0x1c], 0x7b
nop dword [eax + eax]
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x10
jb 0x100104b0
lea eax, [esp + 0xd]
mov byte [esp + 0x1d], 0
push eax
push 0
call edi
movaps xmm0, xmmword [0x100ae070]
xor ecx, ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], Ordinal_2
mov dword [esp + 0x30], 0
movups xmmword [esp + 0xc], xmm0
mov word [esp + 0x1c], 0x62
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x10
jb 0x10010515
lea eax, [esp + 0xd]
mov byte [esp + 0x1d], 0
push eax
push 0
call edi
mov dword [0x101834ac], eax
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x100105b4
nop
movaps xmm0, xmmword [0x100adb50]
xor eax, eax
movups xmmword [esp + 0xc], xmm0
mov word [esp + 0x1c], 0x2b
mov cl, byte [esp + 0xc]
xor byte [esp + eax + 0xd], cl
inc eax
cmp eax, 0x10
jb 0x10010555
lea eax, [esp + 0xd]
mov byte [esp + 0x1d], 0
push eax
push 0
call edi
lea edx, [esp + 0x30]
mov dword [esp + 0x50], eax
mov ecx, dword [ebx]
push edx
lea edx, [esp + 0x38]
push edx
push 0x120
push eax
push 1
push 0
push ebx
call dword [ecx + 0x40]
test eax, eax
jns 0x100105ac
movzx eax, ax
push eax
call fcn.10011c20
push eax
call fcn.10016d60
add esp, 4
push 0x3e8
call esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10010540
movaps xmm0, xmmword [0x100ae0c0]
xor edx, edx
mov dword [0x10183414], eax
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x1c], 0x686a736e
mov dword [esp + 0x20], 0x20666f
mov al, byte [esp + 0xc]
xor byte [esp + edx + 0xd], al
inc edx
cmp edx, 0x16
jb 0x100105d7
lea edx, [esp + 0xd]
mov byte [esp + 0x23], 0
mov ecx, 0x101824e8
call fcn.10016ab0
push eax
call fcn.10016d60
add esp, 4
push 0x1388
call esi
mov eax, dword [esp + 0x30]
mov edi, dword [eax]
mov eax, dword [edi + 0xa8]
mov dword [0x10183328], eax
call fcn.10055d20
test eax, eax
jne 0x100107ba
nop word [eax + eax]
mov cl, 0x6f
mov byte [esp + 0xc], 3
mov byte [esp + 0x2a], cl
mov al, 0x60
xor al, byte [esp + 0xc]
mov ah, 0x6d
mov byte [esp + 0x2b], cl
mov dl, 0x6a
xor cl, byte [esp + 0xc]
mov ch, 0x77
mov byte [esp + 0xd], al
mov dh, 0x2d
mov al, byte [esp + 0x2a]
mov bl, 0x66
mov byte [esp + 0xe], cl
mov bh, 0x67
mov cl, byte [esp + 0xc]
xor al, cl
mov byte [esp + 0x17], 0
mov byte [esp + 0x15], al
xor ah, cl
mov al, byte [esp + 0x2b]
xor dl, cl
xor al, cl
mov byte [esp + 0x11], ah
mov byte [esp + 0x16], al
xor bl, cl
lea eax, [esp + 0xd]
mov byte [esp + 0xf], dl
xor ch, cl
mov byte [esp + 0x10], bl
xor dh, cl
mov byte [esp + 0x12], ch
xor bh, cl
mov byte [esp + 0x13], dh
push eax
mov byte [esp + 0x18], bh
mov byte [esp + 0x1b], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x100106bb
push 0xa
call esi
jmp 0x10010630
push 0x10183364
push 0x1000bef0
push 0x73b550
mov dword [0x10183364], 0x73b550
call fcn.10055e60
push 0x73b550
call fcn.10056280
cmp byte [0x101833d6], 0
jne 0x1001071b
push 0x101833f8
push 0x1000c130
push 0x73a530
mov dword [0x101833f8], 0x73a530
call fcn.10055e60
push 0x73a530
call fcn.10056280
mov byte [0x101833d6], 1
push 0x10183328
push 0x1000f230
push dword [edi + 0x44]
call fcn.10055e60
test eax, eax
je 0x10010750
push str.____Part_3_isnt_working__n
call fcn.10007b10
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.1006def6
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x40]
push 0x10183358
push 0x100102c0
mov dword [0x10183358], eax
push dword [edi + 0x40]
call fcn.10055e60
push dword [edi + 0x40]
call fcn.10056280
push str.___Part_3_is_working__n
call fcn.10007b10
add esp, 4
push dword [edi + 0x44]
call fcn.10056280
push 0x7d0
call esi
push 0x1000ea50
push 0xfffffffffffffffc
push dword [0x101834ac]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov dword [0x10183400], eax
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [esp + 0x2c]
push ecx
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1006def6
mov esp, ebp
pop ebp
ret