Function at 0x10038dce
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1fc
mov eax, dword [0x1007a274]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor eax, eax
test eax, eax
je 0x10038c6f
jne 0x10038c6e
call 0x93077cf6
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
inc edx
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10038c7d
jmp 0x10038c7f
je 0x10038c7a
clc
jae 0x10038c84
mov edx, 0x75037442
add dword [edx + 0x66], eax
pushfd
je 0x10038c89
jne 0x10038c89
inc edx
pushf
push 0xa
jae 0x10038c96
jmp 0x10038c91
call 0x10038c98
jae 0x10038c91
add esp, 4
jmp 0x10038c9d
dec dword [esp]
jno 0x10038ca2
jns 0x10038c8d
jp 0x10038ca6
add esp, 4
popf
jmp 0x10038cad
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10038cc6
jne 0x10038cc6
call 0x1fc3c01a
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x16c], 0
mov dword [ebp - 0x148], 0
push 0x104
push 0
lea eax, [ebp - 0x144]
push eax
call fcn.10040850
add esp, 0xc
xor eax, eax
test eax, eax
je 0x10038d14
jne 0x10038d13
call 0x93077d9b
rol byte [ebx + eax*4], 0xf0
add eax, 0x3eb037c
mov ebx, 0x73f8fb74
add bl, byte [edx - 0x45]
xor eax, 3
add eax, 4
xor eax, 5
jl 0x10038d22
jmp 0x10038d24
je 0x10038d1f
clc
jae 0x10038d29
pop edx
mov ebx, 0x1750374
je 0x10038d2e
jne 0x10038d2e
mov ebx, 0xa6a9c66
pushf
push 0xa
jae 0x10038d3b
jmp 0x10038d36
call 0x10038d3d
jae 0x10038d36
add esp, 4
jmp 0x10038d42
dec dword [esp]
jno 0x10038d47
jns 0x10038d32
jp 0x10038d4b
add esp, 4
popf
jmp 0x10038d52
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10038d6b
jne 0x10038d6b
call 0x1fc3c0bf
wait
rcl byte [edx + 0x33], 0xd0
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
lea ecx, [ebp - 0x1ec]
push ecx
call fcn.1003a230
add esp, 4
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x1007bb80], edx
mov dword [0x1007bb84], eax
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.1003a230
add esp, 4
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x1007bb88], edx
mov dword [0x1007bb8c], eax
clc
jae 0x10038dbf
push ecx
invalid
pushf
push 0xa
jae 0x10038dcc
jmp 0x10038dc7
call 0x10038dce
jae 0x10038dc7
add esp, 4
jmp 0x10038dd3
dec dword [esp]
jno 0x10038dd8
jns 0x10038dc3
jp 0x10038ddc
add esp, 4
popf
jmp 0x10038de3
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10038dfc
jne 0x10038dfc
invalid
jl 0x10038e01
jmp 0x10038e03
je 0x10038dfe
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x10038e1d
jne 0x10038e1c
call 0x93077ea4
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10038e2b
jne 0x10038e2b
call 0x106d8e99
push 0
push 0
mov ecx, dword [ebp - 0x148]
push ecx
push 0
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x15c], 0
lea edx, [ebp - 0x15c]
push edx
mov eax, dword [ebp - 0x148]
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [ebp - 0x1c0], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [ebp - 0x15c], eax
je 0x10038e7b
jmp 0x10039090
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [ebp - 0x1c0], eax
jne 0x10038e8e
jmp 0x10039090
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x10038ea4
jmp 0x10039090
push 0xfffffffffffffffc
mov edx, dword [ebp - 0x148]
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x158], eax
cmp dword [ebp - 0x158], 0
je 0x10038fd3
mov dword [ebp - 0x1cc], 0x1007bb74
mov eax, dword [ebp - 0x1cc]
mov dword [ebp - 0x17c], eax
mov ecx, dword [ebp - 0x17c]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1d8], edx
mov eax, dword [ebp - 0x160]
mov ecx, dword [eax]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x184], edx
lea eax, [ebp - 0x184]
mov dword [ebp - 0x18c], eax
lea ecx, [ebp - 0x148]
push ecx
lea edx, [ebp - 0x1dc]
push edx
mov ecx, 0x1007bb74
call fcn.1003a0c0
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x18c]
mov edx, dword [eax]
cmp edx, dword [ecx]
jne 0x10038f56
mov dword [ebp - 0x164], 1
jmp 0x10038f60
mov dword [ebp - 0x164], 0
movzx eax, byte [ebp - 0x164]
test eax, eax
jne 0x10038f77
mov dword [ebp - 0x168], 1
jmp 0x10038f81
mov dword [ebp - 0x168], 0
movzx ecx, byte [ebp - 0x168]
test ecx, ecx
je 0x10038fd3
lea edx, [ebp - 0x148]
push edx
lea eax, [ebp - 0x1e4]
push eax
mov ecx, 0x1007bb74
call fcn.100381f0
mov ecx, dword [ebp - 0x1e4]
add ecx, 0x10
mov dword [ebp - 0x190], ecx
mov edx, dword [ebp - 0x190]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x194]
cmp dword [eax + 4], 0x10038720
jne 0x10038fd3
jmp 0x10039090
cmp dword [ebp - 0x158], 0
je 0x1003907b
cmp dword [ebp - 0x158], 0x10038720
je 0x1003907b
push 0x10038720
push 0xfffffffffffffffc
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov dword [ebp - 0x19c], eax
lea edx, [ebp - 0x148]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x198]
mov ecx, dword [eax]
mov dword [ebp - 0x1d4], ecx
lea edx, [ebp - 0x19c]
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov dword [ebp - 0x1d0], ecx
lea edx, [ebp - 0x1d4]
mov dword [ebp - 0x1a4], edx
movzx eax, byte [ebp - 0x151]
push eax
mov ecx, dword [ebp - 0x1a4]
push ecx
push 0
lea edx, [ebp - 0x1fc]
push edx
mov ecx, 0x1007bb74
call fcn.10037dd0
mov eax, dword [ebp - 0x16c]
add eax, 1
mov dword [ebp - 0x16c], eax
push 0xfffffffffffffffc
mov ecx, dword [ebp - 0x148]
push ecx
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x148], 0
jne 0x10038e2b
movzx edx, byte [0x1007a1fc]
test edx, edx
jne 0x10039293
mov dword [ebp - 0x1a8], 0x1007bb74
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov edx, dword [ebp - 0x1b0]
mov eax, dword [edx + 4]
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 0
jne 0x100390f2
mov dword [ebp - 0x174], 1
jmp 0x100390fc
mov dword [ebp - 0x174], 0
mov cl, byte [ebp - 0x174]
mov byte [ebp - 0x149], cl
movzx edx, byte [ebp - 0x149]
test edx, edx
je 0x10039293
cmp dword [ebp - 0x150], 3
jle 0x10039293
mov byte [ebp - 0x40], 0x46
mov byte [ebp - 0x3f], 0x41
mov byte [ebp - 0x3e], 0x54
mov byte [ebp - 0x3d], 0x41
mov byte [ebp - 0x3c], 0x4c
mov byte [ebp - 0x3b], 0x20
mov byte [ebp - 0x3a], 0x45
mov byte [ebp - 0x39], 0x52
mov byte [ebp - 0x38], 0x52
mov byte [ebp - 0x37], 0x4f
mov byte [ebp - 0x36], 0x52
mov byte [ebp - 0x35], 0x21
mov byte [ebp - 0x34], 0x20
mov byte [ebp - 0x33], 0x41
mov byte [ebp - 0x32], 0x6e
mov byte [ebp - 0x31], 0x74
mov byte [ebp - 0x30], 0x69
mov byte [ebp - 0x2f], 0x63
mov byte [ebp - 0x2e], 0x68
mov byte [ebp - 0x2d], 0x65
mov byte [ebp - 0x2c], 0x61
mov byte [ebp - 0x2b], 0x74
mov byte [ebp - 0x2a], 0x20
mov byte [ebp - 0x29], 0x72
mov byte [ebp - 0x28], 0x65
mov byte [ebp - 0x27], 0x74
mov byte [ebp - 0x26], 0x75
mov byte [ebp - 0x25], 0x72
mov byte [ebp - 0x24], 0x6e
mov byte [ebp - 0x23], 0x65
mov byte [ebp - 0x22], 0x64
mov byte [ebp - 0x21], 0x20
mov byte [ebp - 0x20], 0x61
mov byte [ebp - 0x1f], 0x73
mov byte [ebp - 0x1e], 0x20
mov byte [ebp - 0x1d], 0x75
mov byte [ebp - 0x1c], 0x6e
mov byte [ebp - 0x1b], 0x6b
mov byte [ebp - 0x1a], 0x6e
mov byte [ebp - 0x19], 0x6f
mov byte [ebp - 0x18], 0x77
mov byte [ebp - 0x17], 0x6e
mov byte [ebp - 0x16], 0x20
mov byte [ebp - 0x15], 0x57
mov byte [ebp - 0x14], 0x69
mov byte [ebp - 0x13], 0x6e
mov byte [ebp - 0x12], 0x64
mov byte [ebp - 0x11], 0x6f
mov byte [ebp - 0x10], 0x77
mov byte [ebp - 0xf], 0x73
mov byte [ebp - 0xe], 0x20
mov byte [ebp - 0xd], 0x65
mov byte [ebp - 0xc], 0x72
mov byte [ebp - 0xb], 0x72
mov byte [ebp - 0xa], 0x6f
mov byte [ebp - 9], 0x72
mov byte [ebp - 8], 0x21
mov byte [ebp - 7], 0
lea eax, [ebp - 0x40]
push eax
call fcn.1001d400
add esp, 4
clc
jae 0x1003921d
add dword [ecx], esp
pushf
push 0xa
jae 0x1003922a
jmp 0x10039225
call 0x1003922c
jae 0x10039225
add esp, 4
jmp 0x10039231
dec dword [esp]
jno 0x10039236
jns 0x10039221
jp 0x1003923a
add esp, 4
popf
jmp 0x10039241
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x1003925a
jne 0x1003925a
and dword [ebx + eax - 0x15], edi
add esp, dword [ecx]
jl 0x1003925f
jmp 0x10039261
je 0x1003925c
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x1003927b
jne 0x1003927a
call 0x93078302
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x10039289
jne 0x10039289
call 0xe480575
invalid
call fcn.1001d700
jmp 0x10039331
movzx ecx, byte [0x1007a1fc]
test ecx, ecx
jne 0x10039331
mov dword [ebp - 0x1b8], 0x1007bb74
mov edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x1c4], edx
cmp dword [ebp - 0x1c4], 0
jne 0x100392e8
mov dword [ebp - 0x178], 1
jmp 0x100392f2
mov dword [ebp - 0x178], 0
mov al, byte [ebp - 0x178]
mov byte [ebp - 0x14a], al
movzx ecx, byte [ebp - 0x14a]
test ecx, ecx
je 0x10039331
cmp dword [ebp - 0x150], 3
jge 0x10039331
mov edx, dword [ebp - 0x150]
add edx, 1
mov dword [ebp - 0x150], edx
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10038dba
movzx eax, byte [0x1007a1fc]
test eax, eax
je 0x10039343
mov byte [0x1007a1fc], 0
clc
jae 0x10039348
or esp, dword fs:[esi - 0x64]
pushf
push 0xa
jae 0x10039355
jmp 0x10039350
call 0x10039357
jae 0x10039350
add esp, 4
jmp 0x1003935c
dec dword [esp]
jno 0x10039361
jns 0x1003934c
jp 0x10039365
add esp, 4
popf
jmp 0x1003936c
push eax
push edx
xor edx, 0x90
push edx
sub edx, 0x80
pop eax
add eax, edx
pop edx
pop eax
je 0x10039385
jne 0x10039385
or edi, dword [ebx + eax - 0x15]
add ecx, dword [ebx]
jl 0x1003938a
jmp 0x1003938c
je 0x10039387
push eax
xor eax, eax
setnp al
push edx
xor edx, eax
shl edx, 2
xchg edx, eax
pop edx
or eax, ecx
pop eax
xor eax, eax
test eax, eax
je 0x100393a6
jne 0x100393a5
call 0x9307842d
rol byte [ebx + eax*4], 0xf0
add eax, 0x1750374
xor eax, 3
add eax, 4
xor eax, 5
je 0x100393b4
jne 0x100393b4
call 0x9b5ef217
dec ebp
cld
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1003eb91
mov esp, ebp
pop ebp
ret