Function at 0x409380
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
mov eax, dword [0x4556c0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call fcn.00406e10
push str.ADSdsfrhgt
call fcn.00409320
add esp, 4
xor si, 0x2ed
mul si
shl esi, 0x60
sub dx, cx
inc ecx
imul eax
dec cx
add cx, 0x341
add di, 0x329
shr edi, 0xda
rol si, 0xe6
inc di
inc bx
xor cx, 0x3d7
rcl ax, 0x2b
or edx, eax
mul ebx
dec edx
shr di, 0x9e
shl bx, 0x55
rol cx, 0x10
rcr eax, 7
jb 0x409403
test ebx, 0x15
jb 0x409430
add ax, 0x3bf
shl cx, 0xde
mul edi
movzx ebx, dx
jmp 0x40940f
ror ebx, 0xdf
rol ebx, 0xc0
and edi, 0x1ca
add esi, eax
jne 0x409430
cmp edx, 0x36
jae 0x409460
shl cx, 0xb1
xor edx, 0x18d
add edx, 0x16a
ror esi, 0xb7
imul ax
jmp 0x40943a
imul di
rol si, 0xc8
imul cx
mul cx
rcr bx, 0x61
rcl esi, 0xcc
mul edi
rcr bx, 0x40
rcl bx, 0x61
sub ax, 0x3c1
jne 0x409460
movzx ebx, bx
imul ax
shr bx, 0xf8
jmp 0x409472
xor edx, ebx
inc edi
inc ax
or si, 0x1cc
movsx esi, bx
imul cx
imul eax
sub ecx, 0x373
rcr edx, 0x85
ror ecx, 0xa5
mov si, 0xb9
movzx esi, si
dec bx
mul si
shr bx, 0xb4
dec cx
je 0x4094ac
cmp ecx, 0x17
jb 0x4094f1
rcr si, 0xcf
dec di
and si, ax
shl esi, 0xf9
shr si, 0x31
shr edi, 0x6b
jmp 0x4094b7
dec esi
inc cx
inc eax
rol bx, 0xfe
rol edi, 0xc4
xor dx, cx
sub ebx, 0x1a1
rcl eax, 0xe0
and bx, 0xf3
shr edx, 0x25
jne 0x4094f1
shl esi, 0x84
sub esi, esi
rcl dx, 0x75
imul ax
dec edi
shr cx, 0xc6
xor edi, 0x17a
add dx, 0x189
rol edx, 0x5e
rcl eax, 0xf1
jmp 0x4094fe
rcr di, 0x4c
shl ebx, 0x96
imul ebx
shr cx, 0x62
dec ax
ror ecx, 0x44
mul dx
sub bx, 0x247
shr edx, 0x49
jne 0x40952b
imul edx
and eax, 0x38
add cx, 0x2c0
mul ebx
shl edx, 0xd7
sub dx, di
mov cx, cx
inc esi
rcr ebx, 0x41
jmp 0x409541
mov di, di
rol di, 0x22
rcl edi, 0x81
mov di, 0x2fe
imul di
and cx, 0x21d
or edx, 0x3dc
ror bx, 0xff
dec bx
ror dx, 0xaa
imul edx
mov ebx, 0x209
rcr di, 0x15
sub cx, 0x349
dec ebx
jae 0x409584
test edx, 0x47
jne 0x4095d5
shl eax, 0xa4
rol ebx, 0x67
rol cx, 0x9e
add si, si
movsx ecx, si
mov cx, 0x25b
and ecx, ecx
jmp 0x409599
inc ax
mul ecx
rcl si, 0xc4
rcl ax, 0x81
rcl ecx, 0x2a
ror edi, 0xd9
shr edi, 0x6e
inc ecx
rcr ax, 0x10
add dx, 0x38c
dec bx
rcr edx, 0x7d
inc ax
inc cx
shr di, 0x39
mul ecx
rcl cx, 9
jne 0x4095d5
mul ecx
rcl eax, 0xf9
rcl dx, 0x2c
mov dx, 0x3e0
shr cx, 0x6b
sub di, 0x13e
ror edi, 0x93
mul edx
jmp 0x4095f1
imul dx
ror cx, 0x7f
imul esi
rcr ebx, 0x15
shl edx, 0xb2
xor esi, 0x6d
mul ax
inc cx
xor di, bx
mul esi
ror ecx, 0x1f
dec ecx
jb 0x409609
test ecx, 0x42
jb 0x409639
and bx, 0x173
imul si
jmp 0x409611
imul si
imul ax
mul ecx
shr ecx, 0xec
jae 0x409639
test eax, 0x22
jb 0x40965e
rcr eax, 0x58
dec eax
xor ax, dx
dec edi
mov si, 0x245
rcl cx, 0xa4
mov ax, 0x2d5
inc cx
and eax, eax
imul ebx
jmp 0x40963c
ror edx, 0x75
imul edi
rol si, 0xfc
mov edx, 0x332
mul cx
ja 0x40965e
cmp ecx, 0x2c
jb 0x4096b0
and eax, 0x225
movzx esi, bh
imul dx
jmp 0x409679
dec di
add si, 0x6c
imul di
and eax, 0x60
add dx, 0x1a3
dec si
inc edx
shl ax, 0xe2
sub dx, di
imul ax
inc edx
and esi, eax
rol ebx, 0x4a
and ebx, 0x2df
je 0x4096b0
shr ecx, 0xfa
or ecx, 0x2eb
xor cx, 0x3bd
xor esi, ecx
xor bx, 0x18c
rcl esi, 0x69
mov eax, ebx
mul dx
mov ax, bx
rcr bx, 0xd1
jmp 0x4096c6
imul bx
or si, 0x365
or edx, 0x63
rol eax, 0xd5
mov si, 0x9a
rcl ax, 0xba
mov esi, edx
add dx, ax
mul edi
rcl eax, 0x61
shr edi, 0x26
shr cx, 0x20
push 0
push 0
push 0
push 0x4087f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, word [0x42e578]
lea edi, [ebp - 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0xa
movups xmmword [ebp - 0x4c], xmm0
lea ecx, [ebp - 4]
mov word [ebp - 0x44], ax
movq xmm0, qword [str.Black_John]
sub ecx, edi
movzx eax, word [0x42e584]
xor ebx, ebx
movq qword [ebp - 0x4c], xmm0
xor esi, esi
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0xf
movups xmmword [ebp - 0x34], xmm0
mov word [ebp - 0x2c], ax
movq xmm0, qword [str.Agent_Smith]
movzx eax, byte [0x42e586]
mov byte [ebp - 0x2a], al
mov eax, dword [str.Alister]
movq qword [ebp - 0x34], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], eax
movzx eax, word [0x42e58c]
mov word [ebp - 0x18], ax
movzx eax, byte [0x42e58e]
mov byte [ebp - 0x16], al
mov eax, 0x2aaaaaab
imul ecx
mov byte [ebp - 0x42], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x24], 0xb
shr eax, 0x1f
mov dword [ebp - 0x20], 0xf
mov byte [ebp - 0x29], 0
mov dword [ebp - 0xc], 7
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x15], 0
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
add eax, edx
je 0x40984e
cmp eax, 0xaaaaaaa
ja 0x409a9e
lea ebx, [eax + eax*2]
shl ebx, 3
cmp ebx, 0x1000
jb 0x40980c
lea eax, [ebx + 0x23]
cmp eax, ebx
jbe 0x409aa3
push eax
call fcn.0040bf02
add esp, 4
test eax, eax
je 0x409a99
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x40981f
test ebx, ebx
je 0x40981d
push ebx
call fcn.0040bf02
add esp, 4
mov esi, eax
jmp 0x40981f
xor esi, esi
lea eax, [ebx + esi]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x54], eax
mov ebx, esi
lea eax, [ebp - 4]
mov dword [ebp - 0x5c], esi
cmp edi, eax
je 0x40984b
mov esi, eax
push edi
mov ecx, ebx
call fcn.00403070
add edi, 0x18
add ebx, 0x18
cmp edi, esi
jne 0x409836
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x58], ebx
mov eax, 3
lea edi, [ebp - 4]
mov ecx, dword [edi - 4]
lea edi, [edi - 0x18]
dec eax
mov dword [ebp - 0x50], eax
cmp ecx, 0xf
jbe 0x409893
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x409886
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x409a99
mov eax, edx
push ecx
push eax
call fcn.0040bf32
mov eax, dword [ebp - 0x50]
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
test eax, eax
jne 0x409856
cmp esi, ebx
je 0x4098d8
nop dword [eax]
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x4098ba
mov eax, dword [esi]
push dword [esi + 0x10]
push eax
push 0x456b98
call fcn.00401ef0
push eax
call fcn.004021b0
add esi, 0x18
add esp, 0x10
cmp esi, ebx
jne 0x4098b0
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_GetNumberOfEventLogRecords]
dec edi
mul si
or ebx, ecx
movsx edi, dl
ror ecx, 0xc5
mul cx
movzx esi, al
sub cx, 0x3c6
dec edi
dec cx
movsx edx, bl
mul edi
or ax, si
movsx ecx, bh
add edx, 0x2ea
ror edx, 0x4b
shl esi, 0x13
sub si, di
imul si
and edi, edx
ror ax, 0xf4
jae 0x409940
mul ecx
mul eax
or edx, edx
dec dx
mov ecx, ecx
add di, 0x30c
mov edx, 0xdd
ror edi, 0x11
or esi, 0xfa
jmp 0x409954
shl di, 0x27
mul edi
shr edx, 0xe3
ror bx, 0x41
dec dx
ror ecx, 0x57
dec bx
rol edx, 0x7d
imul bx
jae 0x409962
shr bx, 2
jmp 0x409975
rol ebx, 0xbf
add eax, 0x32
mov ebx, ecx
imul edi
or ax, cx
mov si, 0x3a8
mov ecx, ebx
add eax, ebx
imul edi
rol esi, 0x48
inc ecx
xor ebx, 0x11f
dec ecx
and eax, 0xed
movsx ebx, cl
rcl dx, 0xbd
push 0
call dword [sym.imp.USER32.dll_DestroyWindow]
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_GetDC]
movss xmm0, dword [0x42e66c]
mov esi, eax
mov ebx, dword [sym.imp.GDI32.dll_SetPixel]
movss dword [ebp - 0x50], xmm0
nop dword [eax]
cvtps2pd xmm0, xmm0
call fcn.004188e0
movss xmm1, dword [ebp - 0x50]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x60], xmm0
cvtps2pd xmm0, xmm1
call fcn.00418720
movss xmm1, dword [ebp - 0x60]
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
push 0xffffff
movaps xmm0, xmm1
mulss xmm1, dword [0x42e660]
mulss xmm0, dword [0x42e650]
divss xmm0, xmm2
mulss xmm2, dword [0x42e660]
addss xmm0, xmm1
addss xmm2, dword [0x42e650]
addss xmm0, dword [0x42e664]
addss xmm2, dword [0x42e668]
cvttss2si eax, xmm0
push eax
cvttss2si eax, xmm2
push eax
push esi
call ebx
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x42e644]
movss xmm1, dword [0x42e64c]
comiss xmm1, xmm0
movss dword [ebp - 0x50], xmm0
jae 0x4099c0
push esi
push edi
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0xffffffffffffffff
push 0
push 1
mov ecx, 0x456b30
call fcn.00407980
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_DeleteAce]
lea ecx, [ebp - 0x5c]
call fcn.00405270
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040bf45
mov esp, ebp
pop ebp
ret 0x10
call fcn.00410a5f
call fcn.00405310
call fcn.00405230
int3