Function at 0x401cf0
Capabilities:
Get hostname
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x28c
mov eax, dword [0x41405c]
xor eax, esp
mov dword [esp + 0x288], eax
push edi
xor edi, edi
push edi
push edi
push edi
push edi
push edi
push str.start
call fcn.00401bd0
push 0x41134c
push str.syl.txt
mov dword [esp + 0x48], edi
mov dword [0x4150f8], edi
call fcn.00403f18
add esp, 0x20
cmp eax, edi
mov dword [esp + 0x24], eax
jne 0x401d6b
push edi
push edi
push str.no_license_file
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x18
mov eax, 1
pop edi
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.00403591
add esp, 0x28c
ret
push ebx
push ebp
push esi
xor esi, esi
mov ebp, 0x4150f8
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
lea ecx, [ecx]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, dword [esp + 0x50]
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x3c]
push eax
push str._x__d__x__x__x__x__d__d__d__x
push ecx
mov dword [ebp], edi
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
call fcn.00404068
add esp, 0x30
cmp eax, 0xa
jne 0x402305
mov ebx, dword [esp + 0x28]
test ebx, 0xfff0
mov edi, dword [esp + 0x18]
jne 0x401e91
mov eax, edi
and eax, 0xf00
cmp eax, 0xa00
je 0x401e03
cmp eax, 0xb00
jne 0x401f00
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x198]
push edx
push 0x411308
push eax
call fcn.00404068
add esp, 0xc
cmp eax, 1
jne 0x402322
push 0x100
lea ecx, [esp + 0x9c]
push ecx
call sub.WSOCK32.dll_gethostname
lea ecx, [esp + 0x198]
lea eax, [esp + 0x98]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401e66
test dl, dl
je 0x401e62
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401e66
add eax, 2
add ecx, 2
test dl, dl
jne 0x401e46
xor eax, eax
jmp 0x401e6b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x401ef8
push esi
push 0
push str.wrong_server
push 0
push 0
push str.error
call fcn.00401bd0
add esp, 0x18
jmp 0x4022e4
mov eax, dword [esp + 0x24]
shl eax, 0x10
or eax, dword [esp + 0x20]
mov dword [esp + 0x54], 0xad2e45f7
mov edx, eax
mov dword [esp + 0x3c], eax
mov eax, ebx
shl eax, 0x10
or eax, dword [esp + 0x1c]
and edx, 7
mov dword [esp + 0x58], 0x12345678
mov dword [esp + 0x5c], 0x25ed28f4
mov dword [esp + 0x60], 0xe41cad21
mov dword [esp + 0x64], 0x56737e56
mov dword [esp + 0x68], 0x42ed5a7c
mov dword [esp + 0x6c], 0x3b934fda
mov dword [esp + 0x70], 0x6cab5fed
sub eax, dword [esp + edx*4 + 0x54]
mov dword [esp + 0x38], eax
jmp 0x401f00
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
xor ebp, ebp
cmp eax, ebp
jne 0x401f1e
cmp edx, ebp
jne 0x401f1e
cmp ecx, ebp
jne 0x401f1e
xor esi, esi
jmp 0x401f78
add eax, 0x64
mov dword [esp + 0x88], eax
lea eax, [esp + 0x74]
add edx, 0xffffffff
push eax
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x98], ebp
call fcn.00403c09
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov ecx, eax
sub ecx, dword [0x414078]
mov eax, 0xc22e4507
mul ecx
mov esi, edx
add esp, 4
shr esi, 0x10
push ebp
push edi
call fcn.00401ae0
mov ecx, dword [esp + 0x34]
push 1
push ecx
mov ebp, eax
call fcn.00401ae0
add esp, 0x10
test ebx, 0xfff0
lea ebp, [eax + ebp + 1]
jne 0x401fd3
push 2
push ebx
call fcn.00401ae0
mov edx, dword [esp + 0x24]
push 3
push edx
mov ebx, eax
call fcn.00401ae0
add ebx, eax
mov eax, dword [esp + 0x34]
push 5
push eax
call fcn.00401ae0
mov ecx, dword [esp + 0x38]
push 6
push ecx
add ebx, eax
call fcn.00401ae0
add esp, 0x20
jmp 0x401ff0
mov edx, dword [esp + 0x3c]
push 3
push edx
call fcn.00401ae0
mov ebx, eax
mov eax, dword [esp + 0x40]
push 2
push eax
call fcn.00401ae0
add esp, 0x10
add eax, ebp
push 4
push esi
add ebx, eax
call fcn.00401ae0
add eax, ebx
add esp, 8
cmp eax, dword [esp + 0x50]
je 0x402029
mov esi, dword [esp + 0x10]
push esi
push 0
push str.wrong_key
push 0
push 0
push str.error
call fcn.00401bd0
add esp, 0x18
jmp 0x4022e0
mov ecx, edi
mov ebp, edi
mov ebx, edi
mov eax, edi
and edi, 0xffff
shr ecx, 0x14
shr ebp, 0x18
and ecx, 1
add dword [esp + 0x34], ecx
shr ebx, 0x15
shr eax, 0x10
mov dword [esp + 0x18], edi
and ebx, 1
xor edi, edi
and ebp, 0xf
and eax, 0xf
cmp esi, edi
mov dword [esp + 0x40], ebx
je 0x4020a4
push eax
push esi
call fcn.00401910
add esp, 8
cmp eax, edi
je 0x4020a4
push eax
lea edx, [esp + 0x9c]
push str.license_expired__d
push edx
call fcn.00403516
mov esi, dword [esp + 0x1c]
push esi
push edi
lea eax, [esp + 0xac]
push eax
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x24
jmp 0x4022e0
mov eax, dword [esp + 0x28]
test eax, 0xfff0
jne 0x40213c
and eax, 0xf
cmp eax, 2
jne 0x4020f9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
call fcn.00402e50
add esp, 0xc
test eax, eax
je 0x40219c
mov esi, dword [esp + 0x10]
push esi
push edi
push str.wrong_dongle
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x18
jmp 0x4022e0
cmp eax, 1
jne 0x4022dc
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
call fcn.00402fc0
add esp, 0xc
test eax, eax
je 0x40219c
mov esi, dword [esp + 0x10]
push esi
push edi
push str.wrong_computer
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x18
jmp 0x4022e0
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00402c40
add esp, 4
test eax, eax
je 0x40216c
mov esi, dword [esp + 0x10]
push esi
push edi
push str.wrong_machine
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x18
jmp 0x4022e0
mov edx, dword [esp + 0x3c]
push edx
call fcn.00401860
add esp, 4
test eax, eax
je 0x40219c
mov esi, dword [esp + 0x10]
push esi
push edi
push str.wrong_net
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x18
jmp 0x4022e0
mov esi, dword [esp + 0x10]
xor eax, eax
cmp esi, edi
jle 0x4021c9
mov ecx, 0x4150f8
jmp 0x4021b0
mov edx, dword [ecx]
cmp edx, dword [esp + 0x18]
je 0x4022e0
add eax, 1
add ecx, 0x3020
cmp eax, esi
jl 0x4021b0
cmp ebp, edi
je 0x4022d3
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x2c]
and eax, 0xff
lea edi, [esi - 1]
test edi, edi
mov dword [esp + 0x10], eax
jl 0x4022d1
mov ebp, dword [esp + 0x14]
lea ecx, [ebp - 0x301c]
test edx, edx
jle 0x402242
mov eax, dword [ecx - 4]
mov ebx, eax
xor ebx, dword [esp + 0x18]
test ebx, 0xff00
jne 0x402231
and eax, 0xff
cmp eax, dword [esp + 0x10]
jg 0x4022bc
mov eax, dword [ecx]
cmp eax, edx
jae 0x40222b
sub edx, eax
mov dword [ecx], 0
jmp 0x402231
sub eax, edx
mov dword [ecx], eax
xor edx, edx
mov ebx, dword [esp + 0x40]
sub edi, 1
sub ecx, 0x3020
test edi, edi
jge 0x4021f7
xor edi, edi
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov dword [ebp + 4], ecx
mov ecx, ebx
mov edx, 2
shl edx, cl
mov dword [ebp], eax
mov dword [ebp + 8], edi
lea ecx, [ebp + 0x1010]
mov dword [ebp + 0xc], edx
lea eax, [ebp + 0x10]
mov edx, 0x100
nop
mov dword [eax + 0x400], edi
mov dword [eax], edi
mov dword [eax + 0x800], edi
mov dword [eax + 0xc00], edi
mov byte [ecx], 0
add eax, 4
add ecx, 0x20
sub edx, 1
jne 0x402270
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [ebp + 0x3010], eax
mov eax, dword [esp + 0x20]
mov dword [ebp + 0x3014], ecx
mov dword [ebp + 0x3018], edx
mov dword [ebp + 0x301c], eax
jmp 0x4022e4
push esi
push 0
mov dword [esp + 0x34], 0
push str.wrong_license_order
jmp 0x401e7b
xor edi, edi
mov ebp, dword [esp + 0x14]
jmp 0x402244
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
add ebp, 0x3020
add esi, 1
xor edi, edi
cmp ebp, 0x433238
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
jl 0x401d80
jmp 0x40233d
cmp eax, 0xffffffff
je 0x40233d
push esi
push edi
push str.wrong_license
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x18
jmp 0x40233d
push esi
push 0
push str.missing_server
push 0
push 0
push str.error
call fcn.00401bd0
add esp, 0x18
xor edi, edi
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00403c89
mov eax, dword [esp + 0x38]
add esp, 4
cmp eax, edi
pop esi
pop ebp
pop ebx
je 0x402393
push eax
call fcn.004033f0
add esp, 4
test eax, eax
je 0x402393
push edi
push edi
push str.one_server_only
push edi
push edi
push str.error
call fcn.00401bd0
add esp, 0x18
mov eax, 1
pop edi
mov ecx, dword [esp + 0x288]
xor ecx, esp
call fcn.00403591
add esp, 0x28c
ret
mov ecx, dword [esp + 0x28c]
pop edi
xor ecx, esp
xor eax, eax
call fcn.00403591
add esp, 0x28c
ret