Function at 0x415bc0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a4cf0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
mov eax, dword [0x630198]
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 [0x6351c9], 0
jne 0x415fc8
mov byte [0x6351c9], 1
call fcn.00426659
test al, al
je 0x415c20
pop ecx
xchg edi, eax
mov byte [0xa7fb64f3], al
jl 0x415c41
mov edx, 0xab594bac
fcom qword [ebx - 0x7c47a275]
jnp 0x415c5b
cmp dword [ebx + 0x38], 0
jne 0x415c6e
add byte [ebp + 0x48], dh
lea ecx, [ebp - 0x41]
call fcn.0041d360
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x41]
call fcn.004410d4
push eax
lea ecx, [ebx + 0x28]
call fcn.00409340
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x415c5f
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402210
mov cl, 0xc5
invalid
lea ecx, [ebp - 0x41]
mov dword [ebp - 4], 0xffffffff
call fcn.00401610
cmp dword [ebx + 0x80], 0
jne 0x415ce7
push 0x5a9d7c
lea ecx, [ebp - 0x40]
call fcn.00403700
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042aadb
add esp, 8
lea ecx, [ebx + 0x70]
push eax
call fcn.00409340
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x415cb9
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402210
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 0x415ce7
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402260
call fcn.0042658a
test al, al
je 0x415d05
popfd
add al, 0x73
mov word [esi - 0x66], es
mov eax, 0x1123a097
or esp, dword [0xf8f9c0a1]
fmul qword [ebx - 0x447c47a3]
cwde
add byte [eax], al
add byte [eax], al
cmp dword [ebx + 0x98], 0
jne 0x415d81
push str.10.3.1.3
lea ecx, [ebp - 0x40]
call fcn.00403700
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 2
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.0042aadb
add esp, 8
lea ecx, [ebx + 0x88]
push eax
call fcn.00409340
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x415d53
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
fcom dword [eax - 1]
jne 0x415d26
call fcn.00402210
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0xf
mov dword [ebp - 0x18], 0
inc ebp
aam 0xc7
inc ebp
in al, dx
sldt word [eax]
add bh, al
inc ebp
call 0x415d64
mov byte [ebp - 0x28], 0
mov dword [ebp - 4], 0xffffffff
cmp eax, 8
jb 0x415d81
inc dword [ebx + 0xd7208f8]
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402260
call fcn.004264bb
test al, al
je 0x415da5
jns 0x415d54
mov byte [0x19c4b79], al
and eax, 0xca9fa4e8
cmpsd dword [esi], dword es:[edi]
mov byte [ebp + 0x7e97463], al
in eax, dx
pushfd
retf
call fcn.0042631d
test al, al
je 0x415dc3
push ds
js 0x415d49
mov edi, 0xb3f11747
ja 0x415e24
jb 0x415d6e
xchg ebx, ecx
xchg ecx, eax
mov dh, al
adc dword [eax], 0xaee822b8
push es
add dword [eax], eax
call fcn.00426476
test al, al
je 0x415dde
rol eax, 0x80
jmp 0xd5b4abf1
cmp dword [ebx + 0xc8], 0
jne 0x415e32
lea ecx, [ebp - 0x1c]
call fcn.0040c820
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 3
push eax
lea ecx, [ebp - 0x1c]
call fcn.004128f0
push eax
lea ecx, [ebx + 0xb8]
call fcn.00409340
mov eax, dword [ebp - 0x2c]
cmp eax, 0x10
jb 0x415e23
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402210
lea ecx, [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
call fcn.00401610
dec ebp
in al, 0xc7
inc ebp
cld
cmp dword [ebx + 0x50], 0
jne 0x415ea8
lea eax, [ebp - 0x40]
push eax
call fcn.00401960
mov ecx, eax
call fcn.0043dd5f
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
call fcn.0042aadb
add esp, 8
lea ecx, [ebx + 0x40]
push eax
call fcn.00409340
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x415e7a
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402210
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 0x415ea8
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402260
cmp dword [ebx + 0x68], 0
jne 0x415f1e
lea eax, [ebp - 0x40]
push eax
call fcn.00401960
mov ecx, eax
call fcn.0043dd7f
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 5
push eax
call fcn.0042aadb
add esp, 8
lea ecx, [ebx + 0x58]
push eax
call fcn.00409340
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x415ef0
inc eax
lea ecx, [ebp - 0x28]
push eax
push dword [ebp - 0x28]
call fcn.00402210
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 0x415f1e
inc eax
lea ecx, [ebp - 0x40]
push eax
push dword [ebp - 0x40]
call fcn.00402260
call fcn.004263a7
test al, al
je 0x415f3b
test byte [ecx + eax], al
add byte [eax + eax*8 - 0x14feeb8c], al
add ebx, ebp
retf 0xd625
jns 0x415f38
push ecx
add esi, ecx
mov eax, dword [0x84e8f000]
add al, byte [ecx]
add byte [eax + eax*8 - 0x2681e18c], al
call fcn.004261c4
test al, al
je 0x415f62
jle 0x415f1f
je 0x415f33
out dx, al
mov ebp, 0x48f7bfb0
push ebp
mov ah, 0xa1
daa
insd dword es:[edi], dx
pop esi
push edx
outsd dx, dword [esi]
jmp 0x415f86
call fcn.00426293
test al, al
je 0x415f8a
adc ah, byte [0x4d5eee0c]
dec ebp
adc dword [ecx - 0x453e73c7], edx
mov ch, 0x46
leave
retf 0xd4c8
ror byte [ecx], 1
cmp edx, dword [ebp - 0x7d]
jge 0x415f95
cmp dword [ebp + 8], 0
je 0x415faf
add byte [edi + ebx - 0x75], dh
jne 0x415f4b
mov esi, dword [ebp - 0x48]
lea eax, [ebp - 0x48]
push eax
push 0
push esi
mov eax, 0x56006a50
push 0x415820
push 0
push 0
mov byte [esi], 1
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 8], eax
call fcn.00426026
test al, al
je 0x415fc8
je 0x415f70
loope 0x415fb4
out 2, al
loope 0x41601e
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.0043c551
mov esp, ebp
pop ebp
ret 4
inc ebx
adc bh, al
inc ebp
in al, dx
add byte [eax], al
add byte [eax], al