Function at 0x1000d420
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1003c068
mov eax, dword fs:[0]
push eax
sub esp, 0x68
mov eax, dword [0x10047650]
xor eax, esp
mov dword [esp + 0x60], eax
push ebx
push esi
push edi
mov eax, dword [0x10047650]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
xor ebx, ebx
mov dword [esp + 0x10], ebx
call fcn.100037e0
test al, al
jne 0x1000d4c9
call fcn.10003890
test al, al
jne 0x1000d4c9
mov edi, 0x2a3221c6
lea esi, [esp + 0x20]
call fcn.1001b4a0
push ebx
push eax
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
jne 0x1000d4c9
mov edi, str.r_jaajkmfg
sub edi, 0x3ed419b4
lea esi, [esp + 0x64]
call fcn.1001b4d0
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call edi
test eax, eax
jne 0x1000d4cf
mov ecx, str.zGINS_nAJK
sub ecx, 0x13b12eb4
lea eax, [esp + 0x14]
call fcn.1001b500
push eax
call edi
test eax, eax
jne 0x1000d4cf
xor al, al
jmp 0x1000d4d1
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov al, 1
test al, al
je 0x1000d529
mov ecx, 0xe8
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x100411b8]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0x2a
jb 0x1000d4e0
mov byte [esp + 0x5a], bl
push 0x1388
lea eax, [esp + 0x34]
push eax
push 2
mov eax, 0x100a9eb8
mov dword [esp + 0x8c], ebx
call fcn.100050d0
add esp, 0xc
or esi, 0xffffffff
mov dword [esp + 0x80], esi
jmp 0x1000d52c
or esi, 0xffffffff
cmp byte [0x101ab3e0], 0
je 0x1000d556
cmp byte [0x101ab3e3], 0
je 0x1000d5b2
cmp byte [0x101ab3e4], 0
je 0x1000d5a9
cmp byte [0x101ab3e1], 0
jne 0x1000d6ce
jmp 0x1000d5a9
mov ecx, 0x7b
xor eax, eax
lea ecx, [ecx]
mov dl, byte [eax + str.__5_:]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0x30
jb 0x1000d560
mov byte [esp + 0x60], 0
push 0x1388
lea eax, [esp + 0x34]
push eax
push 2
mov eax, 0x100a9eb8
mov dword [esp + 0x8c], 1
call fcn.100050d0
add esp, 0xc
mov dword [esp + 0x80], esi
cmp byte [0x101ab3e3], 0
jne 0x1000d609
mov ecx, 0x6f
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + str.4_9_651_3__8_411]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0x31
jb 0x1000d5c0
mov byte [esp + 0x61], 0
push 0x1388
lea eax, [esp + 0x34]
push eax
push 2
mov eax, 0x100a9eb8
mov dword [esp + 0x8c], 2
call fcn.100050d0
add esp, 0xc
mov dword [esp + 0x80], esi
cmp byte [0x101ab3e1], 0
je 0x1000d669
mov ecx, 0xb5
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x1004124c]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0x32
jb 0x1000d620
mov byte [esp + 0x62], 0
push 0x1388
lea eax, [esp + 0x34]
push eax
push 2
mov eax, 0x100a9eb8
mov dword [esp + 0x8c], 3
call fcn.100050d0
add esp, 0xc
mov dword [esp + 0x80], esi
cmp byte [0x101ab3e4], 0
jne 0x1000d6c9
mov ecx, 0x70
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + str._:_142___.___70]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0x2f
jb 0x1000d680
mov byte [esp + 0x5f], 0
push 0x1388
lea eax, [esp + 0x34]
push eax
push 2
mov eax, 0x100a9eb8
mov dword [esp + 0x8c], 4
call fcn.100050d0
add esp, 0xc
mov dword [esp + 0x80], esi
call fcn.10003cf0
mov ecx, 0x2d
xor eax, eax
mov dl, byte [eax + str.ZICcFSCv_PQ_KI]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x20], dl
inc eax
and ecx, 0xff
cmp eax, 0xe
jb 0x1000d6d5
mov esi, str._8____
lea ecx, [esi - 0x365e22f2]
lea eax, [esp + 0x14]
mov byte [esp + 0x2e], 0
call fcn.1001b5c0
lea ecx, [esp + 0x20]
push ecx
push eax
call edi
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call edi
test eax, eax
je 0x1000d729
cmp byte [0x101ab3d9], 0
jne 0x1000d729
mov al, 1
jmp 0x1000d72b
xor al, al
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
test al, al
je 0x1000d821
mov ecx, 0x2d
xor eax, eax
mov dl, byte [eax + str.ZICcFSCv_PQ_KI]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x20], dl
inc eax
and ecx, 0xff
cmp eax, 0xe
jb 0x1000d740
lea ecx, [esi - 0x365e22f2]
lea eax, [esp + 0x14]
mov byte [esp + 0x2e], 0
call fcn.1001b5c0
lea ecx, [esp + 0x20]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call edi
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov byte [esp + 0x1c], cl
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ecx
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], cl
test eax, eax
je 0x1000d821
cmp byte [eax], 0xe9
jne 0x1000d821
mov ecx, 0x3448dcfa
lea eax, [esp + 0x14]
call fcn.1001b630
push eax
call fcn.100042e0
add esp, 4
push 0x1f4
call ebx
mov ecx, 0x49281b00
lea eax, [esp + 0x14]
call fcn.1001b6c0
push eax
call fcn.100042e0
add esp, 4
push 0x1f4
call ebx
mov edi, 0x348bb641
lea esi, [esp + 0x30]
call fcn.1001b750
push 0x1388
push eax
push 2
mov eax, 0x100a9eb8
mov dword [esp + 0x8c], 5
call fcn.100050d0
add esp, 0xc
mov dword [esp + 0x80], 0xffffffff
mov edx, dword [0x101ab0f8]
cmp byte [edx], 0xe9
je 0x1000d859
mov eax, dword [0x101ab6d8]
cmp byte [eax], 0xe9
je 0x1000d859
mov ecx, dword [0x101ab120]
cmp byte [ecx], 0xe9
je 0x1000d859
mov edx, fcn.1000cd30
cmp byte [edx], 0xe9
je 0x1000d859
mov eax, 0x1000d1f0
cmp byte [eax], 0xe9
jne 0x1000d8e2
mov ecx, 0x3448dcfa
lea eax, [esp + 0x14]
call fcn.1001b630
push eax
call fcn.100042e0
add esp, 4
push 0x1f4
call ebx
mov ecx, 0x49281b00
lea eax, [esp + 0x14]
call fcn.1001b6c0
push eax
call fcn.100042e0
add esp, 4
push 0x1f4
call ebx
mov ecx, 0x8c
xor eax, eax
lea esp, [esp]
mov dl, byte [eax + 0x10041314]
xor dl, cl
inc ecx
mov byte [esp + eax + 0x30], dl
inc eax
and ecx, 0xff
cmp eax, 0x2e
jb 0x1000d8a0
mov byte [esp + 0x5e], 0
push 0x1388
lea eax, [esp + 0x34]
push eax
push 2
mov eax, 0x100a9eb8
mov dword [esp + 0x8c], 6
call fcn.100050d0
add esp, 0xc
mov dword [0x101ab3e0], 0
mov byte [0x101ab3e4], 0
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.1002005a
mov esp, ebp
pop ebp
ret