Function at 0x40e3f0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dff60
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x678390]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x48], ebx
cmp byte [0x67d500], 0
jne 0x40e7f8
mov byte [0x67d500], 1
call fcn.00453c3f
test al, al
je 0x40e450
scasb al, byte es:[edi]
xchg ebp, eax
arpl word [0xa4fc2343], si
mov fs, word [ecx]
dec esi
push cs
enter 0x709e, 0x30
mov ebx, dword [ebp - 0x48]
cmp dword [ebx + 0x38], 0
jne 0x40e49e
lea ecx, [ebp - 0x41]
call fcn.0041dea0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x41]
call fcn.00478d19
push eax
lea ecx, [ebx + 0x28]
call fcn.00407f50
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x40e48f
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402c90
lea ecx, [ebp - 0x41]
mov dword [ebp - 4], 0xffffffff
call fcn.00479050
cmp dword [ebx + 0x80], 0
jne 0x40e517
push 0x5e9c5c
lea ecx, [ebp - 0x40]
call fcn.00404170
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045e234
add esp, 8
lea ecx, [ebx + 0x70]
push eax
call fcn.00407f50
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x40e4e9
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402c90
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x40e517
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402ce0
call fcn.00453b70
test al, al
je 0x40e535
push esi
mov dl, 0xe4
and al, 0x96
dec esi
test al, 0x7c
invalid
cmp dword [ebx + 0x98], 0
jne 0x40e5b1
push str.10.3.1.3
lea ecx, [ebp - 0x40]
call fcn.00404170
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0045e234
add esp, 8
lea ecx, [ebx + 0x88]
push eax
call fcn.00407f50
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x40e583
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402c90
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x40e5b1
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402ce0
call fcn.00453aa1
test al, al
je 0x40e5d5
jns 0x40e610
sbb al, byte [ebx - 0x28b5c617]
cmp dword [ebx - 0x4de23ada], esp
mov al, 0xa9
out dx, al
mov bh, 0x14
int 0xf9
add eax, 0xfa61c7fd
cdq
call fcn.00453903
test al, al
je 0x40e5f3
inc esp
dec esi
sbb byte [edi + 0x2d94bc4d], cl
push cs
scasd eax, dword es:[edi]
jecxz 0x40e624
in al, 0xd0
and al, 0xfe
test ch, 0x90
jl 0x40e5dc
call fcn.00453a5c
push esp
add al, 0
test al, al
je 0x40e60e
call 0xa4f557d8
mov word [ecx], fs
invalid
cmp dword [ebx + 0xc8], 0
jne 0x40e662
enter 0, 0
add byte [ebp + 0x4b], dh
lea ecx, [ebp - 0x1c]
call fcn.00479034
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 3
cld
add eax, dword [eax]
add byte [eax], al
push eax
lea ecx, [ebp - 0x1c]
call fcn.0047d612
push eax
lea ecx, [ebx + 0xb8]
call fcn.00407f50
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x40e653
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402c90
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.00479050
cmp dword [ebx + 0x50], 0
jne 0x40e6d8
lea eax, [ebp - 0x40]
push eax
call fcn.004023e0
mov ecx, eax
call fcn.00474c54
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
call fcn.0045e234
add esp, 8
lea ecx, [ebx + 0x40]
push eax
call fcn.00407f50
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x40e6aa
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402c90
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x40e6d8
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402ce0
cmp dword [ebx + 0x68], 0
jne 0x40e74e
lea eax, [ebp - 0x40]
push eax
call fcn.004023e0
mov ecx, eax
call fcn.00474c74
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
push eax
call fcn.0045e234
add esp, 8
lea ecx, [ebx + 0x58]
push eax
call fcn.00407f50
mov eax, dword [ebp - 0x14]
in al, dx
cmp eax, 0x10
jb 0x40e720
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402c90
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x40e74e
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402ce0
call fcn.0045398d
test al, al
je 0x40e76b
mov ecx, 0x4496d650
mov ebp, 0x2714ebfb
loope 0x40e797
inc ah
mov ebp, 0x7ca1e37f
mov bh, 0xe8
cmp dl, byte [eax + 4]
add byte [eax + eax*8 - 0x2d2ce18c], al
call fcn.004537aa
test al, al
je 0x40e792
rcl edx, cl
dec edx
in al, 0x26
js 0x40e70d
dec edi
pop ds
out 0x16, eax
add dl, bh
stc
stc
fild qword [edx - 0x4790d520]
pop esi
inc ebp
push es
pop ss
cmp dword [edx], edi
pushal
xor eax, 0x50e2e8ca
add al, 0
call fcn.00453879
test al, al
je 0x40e7ba
enter 0xffffffffffff90ad, 0x54
out 0x52, al
outsd dx, dword [esi]
bound ecx, qword [ebx + 0x56541799]
add dword [esi - 0xa60a5c8], 0xf43f17a6
cmpsb byte [esi], byte es:[edi]
mov fs, ecx
mov word [esi - 0x5c], ss
xor al, bl
cmp dword [ebp + 8], 0
je 0x40e7df
mov esi, dword [ebp - 0x48]
lea eax, [ebp - 0x48]
push eax
push 0
push esi
push 0x40dfc0
push 0
push 0
mov byte [esi], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 8], eax
call fcn.0045360c
test al, al
je 0x40e7f8
and bl, dh
stosb byte es:[edi], al
movsb byte es:[edi], byte [esi]
popal
into
push cx
jnp 0x40e86c
and al, 0x4e
aas
or byte [ecx], ch
aad 0x8b
dec ebp
hlt
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047070c
mov esp, ebp
pop ebp
ret 4
add byte [eax + eax*8 + 0x69781774], al
mov bh, 0xed
invalid