Function at 0x401000
Capabilities:
Check for time delay via gettickcount
Check os version
Get common file path

Disassembly:
push 0x288
push 0x4a15b8
call fcn.0045cba0
xor esi, esi
mov dword [ebp - 0x214], esi
xor ecx, ecx
mov eax, ecx
cdq
push 5
pop edi
idiv edi
cmp edx, 1
je 0x40102f
cmp edx, 4
je 0x40102f
and esi, ecx
jmp 0x401031
sub esi, ecx
mov dword [ebp - 0x214], esi
inc ecx
cmp ecx, 0x36
jl 0x401019
push 0xfa
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
and dword [ebp - 4], 0
push 7
pop ecx
mov dword [ebp - 0x280], ecx
and dword [ebp - 0x26c], 0
cmp dword [ebp - 0x26c], 2
jge 0x4010bc
mov eax, dword [ebp - 0x26c]
cdq
mov edi, ecx
idiv edi
test edx, edx
jne 0x401081
dec dword [ebp - 0x280]
mov eax, esi
cdq
idiv dword [ebp - 0x280]
mov esi, eax
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x26c]
jmp 0x401063
push 0xfffffffffffffffe
pop edi
mov dword [ebp - 4], edi
xor eax, eax
inc eax
mov dword [ebp - 4], eax
and dword [ebp - 0x270], 0
cmp dword [ebp - 0x270], 4
jge 0x401101
mov ecx, dword [ebp - 0x270]
and ecx, reloc.WS2_32.dll_accept
jns 0x4010eb
dec ecx
or ecx, 0xfffffffe
inc ecx
cmp ecx, eax
jne 0x4010f2
inc esi
jmp 0x4010f3
dec esi
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x270]
jmp 0x4010cf
mov dword [ebp - 4], edi
call fcn.0040113c
mov dword [ebp - 4], 2
and dword [ebp - 0x25c], 0
cmp dword [ebp - 0x25c], 0x16
jge 0x401165
mov eax, dword [ebp - 0x25c]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x401157
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x40115d
inc dword [ebp - 0x214]
inc dword [ebp - 0x25c]
jmp 0x401117
mov dword [ebp - 4], edi
call fcn.004011ff
xor eax, eax
sub dword [ebp - 0x214], eax
inc eax
cmp eax, 5
jl 0x40116f
cmp dword [ebp - 0x214], 0xffff0001
jge 0x401196
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x4011b2
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x214], eax
xor esi, esi
push 3
pop ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
mov ecx, ebx
div ecx
test edx, edx
jne 0x4023f1
add dword [ebp - 0x214], 0xc
mov dword [ebp - 4], ebx
and dword [ebp - 0x224], edx
cmp dword [ebp - 0x224], 0xf
jge 0x401218
mov eax, dword [ebp - 0x224]
cdq
mov ecx, ebx
idiv ecx
cmp edx, 1
jne 0x40120a
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x401210
inc dword [ebp - 0x214]
inc dword [ebp - 0x224]
jmp 0x4011db
mov dword [ebp - 4], edi
call fcn.004012e8
xor esi, esi
xor eax, eax
and dword [ebp - 0x214], eax
inc eax
cmp eax, 3
jl 0x401224
cmp dword [ebp - 0x214], esi
jge 0x401247
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401263
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
push 0xfa
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
and dword [ebp - 0x214], eax
inc eax
cmp eax, 0x10
jl 0x401277
cmp dword [ebp - 0x214], esi
jge 0x40129a
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x4012b6
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x274], esi
cmp dword [ebp - 0x274], 7
jge 0x401301
mov eax, dword [ebp - 0x274]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x4012f3
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x4012f9
inc dword [ebp - 0x214]
inc dword [ebp - 0x274]
jmp 0x4012c3
mov dword [ebp - 4], edi
call fcn.0040135a
mov dword [ebp - 4], 5
push 7
pop esi
mov dword [ebp - 0x298], esi
and dword [ebp - 0x22c], 0
cmp dword [ebp - 0x22c], 1
jge 0x40138b
mov eax, dword [ebp - 0x22c]
cdq
mov ebx, esi
idiv ebx
test edx, edx
jne 0x40133e
dec dword [ebp - 0x298]
mov eax, ecx
cdq
idiv dword [ebp - 0x298]
mov ecx, eax
mov dword [ebp - 0x214], ecx
inc dword [ebp - 0x22c]
jmp 0x401320
mov dword [ebp - 4], edi
xor esi, esi
xor eax, eax
sub ecx, eax
mov dword [ebp - 0x214], ecx
inc eax
cmp eax, 5
jl 0x401392
cmp ecx, 0xffff0001
jge 0x4013b1
imul ecx, ecx, 0xfffffffb
mov dword [ebp - 0x214], ecx
mov eax, ecx
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x4013c9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x214], esi
cmp esi, esi
jge 0x4013de
mov eax, esi
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x4013fa
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], 6
mov dword [ebp - 0x27c], esi
cmp dword [ebp - 0x27c], 1
jge 0x401437
mov eax, dword [ebp - 0x27c]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x401429
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x40142f
inc dword [ebp - 0x214]
inc dword [ebp - 0x27c]
jmp 0x401407
mov dword [ebp - 4], edi
call fcn.00401495
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x4023dc
add dword [ebp - 0x214], 4
mov dword [ebp - 4], 7
and dword [ebp - 0x234], edx
cmp dword [ebp - 0x234], 6
jge 0x4014ae
mov eax, dword [ebp - 0x234]
and eax, reloc.WS2_32.dll_accept
jns 0x401485
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x4014a0
inc dword [ebp - 0x214]
jmp 0x4014a6
dec dword [ebp - 0x214]
inc dword [ebp - 0x234]
jmp 0x40146a
mov dword [ebp - 4], edi
call fcn.00401507
mov dword [ebp - 4], 8
push 7
pop ecx
mov dword [ebp - 0x294], ecx
and dword [ebp - 0x268], 0
cmp dword [ebp - 0x268], 1
jge 0x40154a
mov eax, dword [ebp - 0x268]
cdq
mov esi, ecx
idiv esi
test edx, edx
jne 0x4014eb
dec dword [ebp - 0x294]
mov eax, ebx
cdq
idiv dword [ebp - 0x294]
mov ebx, eax
mov dword [ebp - 0x214], ebx
inc dword [ebp - 0x268]
jmp 0x4014cd
mov dword [ebp - 4], edi
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x4023cd
add ebx, 4
mov dword [ebp - 0x214], ebx
xor eax, eax
and ebx, eax
mov dword [ebp - 0x214], ebx
inc eax
cmp eax, 2
jl 0x40156f
test ebx, ebx
jns 0x40158a
imul ebx, ebx, 0xfffffffb
mov dword [ebp - 0x214], ebx
mov eax, ebx
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x4015a4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ebx, eax
mov dword [ebp - 0x214], ebx
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x4023be
add ebx, 8
mov dword [ebp - 0x214], ebx
xor eax, eax
and ebx, eax
mov dword [ebp - 0x214], ebx
inc eax
cmp eax, 7
jl 0x4015c6
test ebx, ebx
jns 0x4015e1
imul ebx, ebx, 0xfffffffb
mov dword [ebp - 0x214], ebx
mov eax, ebx
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x4015f9
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
and dword [ebp - 0x214], 0
jge 0x401611
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x40162d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x4023a9
add dword [ebp - 0x214], 6
mov dword [ebp - 4], 9
and dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 5
jge 0x40168e
mov eax, dword [ebp - 0x23c]
and eax, reloc.WS2_32.dll_accept
jns 0x401673
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x401680
inc dword [ebp - 0x214]
jmp 0x401686
dec dword [ebp - 0x214]
inc dword [ebp - 0x23c]
jmp 0x401658
mov dword [ebp - 4], edi
call fcn.00401702
and dword [ebp - 0x214], 0
push 0xfa
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 4], 0xa
push 7
pop ecx
mov dword [ebp - 0x28c], ecx
and dword [ebp - 0x278], 0
cmp dword [ebp - 0x278], 4
jge 0x401740
mov eax, dword [ebp - 0x278]
cdq
mov esi, ecx
idiv esi
test edx, edx
jne 0x4016e4
dec dword [ebp - 0x28c]
mov eax, dword [ebp - 0x214]
cdq
idiv dword [ebp - 0x28c]
mov dword [ebp - 0x214], eax
inc dword [ebp - 0x278]
jmp 0x4016c6
mov dword [ebp - 4], edi
xor esi, esi
mov dword [ebp - 0x214], esi
push 0xfa
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 4], 0xb
push 7
pop ecx
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x244], esi
cmp dword [ebp - 0x244], 4
jge 0x4017cf
mov eax, dword [ebp - 0x244]
cdq
mov ebx, ecx
idiv ebx
test edx, edx
jne 0x401791
dec dword [ebp - 0x284]
mov eax, esi
cdq
idiv dword [ebp - 0x284]
mov esi, eax
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x244]
jmp 0x401773
mov dword [ebp - 4], edi
cmp esi, 0xffff0001
jge 0x4017e3
imul esi, esi, 0xfffffffb
mov dword [ebp - 0x214], esi
mov eax, esi
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x4017fd
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
mov dword [ebp - 0x214], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x214], esi
inc eax
cmp eax, 6
jl 0x4017ff
test esi, esi
jns 0x40181a
imul esi, esi, 0xfffffffb
mov dword [ebp - 0x214], esi
mov eax, esi
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401834
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x214], esi
push 0xfa
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 4], 0xc
and dword [ebp - 0x260], 0
cmp dword [ebp - 0x260], 2
jge 0x401886
mov eax, dword [ebp - 0x260]
and eax, reloc.WS2_32.dll_accept
jns 0x40186f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x401877
inc esi
jmp 0x401878
dec esi
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x260]
jmp 0x401854
mov dword [ebp - 4], edi
call fcn.004018ef
xor eax, eax
and dword [ebp - 0x214], eax
inc eax
cmp eax, 2
jl 0x401890
cmp dword [ebp - 0x214], 0
jge 0x4018b4
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x4018d0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
xor ecx, ecx
mov eax, ecx
cdq
push 5
pop esi
idiv esi
cmp edx, 1
je 0x40190a
cmp edx, 4
je 0x40190a
and dword [ebp - 0x214], ecx
jmp 0x401910
sub dword [ebp - 0x214], ecx
inc ecx
cmp ecx, 7
jl 0x4018d2
push 0xfa
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor esi, esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
call ebx
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x402394
xor esi, esi
call ebx
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x40237f
add dword [ebp - 0x214], ecx
mov dword [ebp - 4], 0xd
and dword [ebp - 0x24c], edx
cmp dword [ebp - 0x24c], 1
jge 0x401997
mov eax, dword [ebp - 0x24c]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x401989
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x40198f
inc dword [ebp - 0x214]
inc dword [ebp - 0x24c]
jmp 0x401967
mov dword [ebp - 4], edi
call fcn.004019d2
mov dword [ebp - 4], 0xe
and dword [ebp - 0x264], 0
cmp dword [ebp - 0x264], 4
jge 0x4019eb
mov eax, dword [ebp - 0x264]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x4019dd
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x4019e3
inc dword [ebp - 0x214]
inc dword [ebp - 0x264]
jmp 0x4019ad
mov dword [ebp - 4], edi
call fcn.00401aa0
xor eax, eax
and dword [ebp - 0x214], eax
inc eax
cmp eax, 3
jl 0x4019f5
cmp dword [ebp - 0x214], 0
jge 0x401a19
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401a35
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
cmp eax, 0xffff0001
jge 0x401a51
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x401a6d
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], 0xf
and dword [ebp - 0x254], 0
cmp dword [ebp - 0x254], 4
jge 0x401ab9
mov eax, dword [ebp - 0x254]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x401aab
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x401ab1
inc dword [ebp - 0x214]
inc dword [ebp - 0x254]
jmp 0x401a7b
mov dword [ebp - 4], edi
call fcn.00401b49
xor eax, eax
and esi, eax
mov dword [ebp - 0x214], esi
inc eax
cmp eax, 4
jl 0x401ac3
test esi, esi
jns 0x401ade
imul esi, esi, 0xfffffffb
mov dword [ebp - 0x214], esi
mov eax, esi
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401af8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x214], esi
mov dword [ebp - 4], 0x10
push 7
pop ecx
mov dword [ebp - 0x288], ecx
and dword [ebp - 0x218], 0
cmp dword [ebp - 0x218], 3
jge 0x401b7a
mov eax, dword [ebp - 0x218]
cdq
mov ebx, ecx
idiv ebx
test edx, edx
jne 0x401b2d
dec dword [ebp - 0x288]
mov eax, esi
cdq
idiv dword [ebp - 0x288]
mov esi, eax
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x218]
jmp 0x401b0f
mov dword [ebp - 4], edi
xor eax, eax
sub esi, eax
mov dword [ebp - 0x214], esi
inc eax
cmp eax, 3
jl 0x401b7f
cmp esi, 0xffff0001
jge 0x401b9e
imul esi, esi, 0xfffffffb
mov dword [ebp - 0x214], esi
mov eax, esi
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x401bb8
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
mov dword [ebp - 0x214], esi
mov dword [ebp - 4], 0x11
and dword [ebp - 0x21c], 0
cmp dword [ebp - 0x21c], 3
jge 0x401bf7
mov eax, dword [ebp - 0x21c]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x401be8
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x401bef
inc esi
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x21c]
jmp 0x401bc6
mov dword [ebp - 4], edi
call fcn.00401c32
mov dword [ebp - 4], 0x12
and dword [ebp - 0x220], 0
cmp dword [ebp - 0x220], 0
jge 0x401c4b
mov eax, dword [ebp - 0x220]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x401c3d
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x401c43
inc dword [ebp - 0x214]
inc dword [ebp - 0x220]
jmp 0x401c0d
mov dword [ebp - 4], edi
call fcn.00401c8c
mov dword [ebp - 4], 0x13
and dword [ebp - 0x228], 0
cmp dword [ebp - 0x228], 2
jge 0x401ca5
mov eax, dword [ebp - 0x228]
and eax, reloc.WS2_32.dll_accept
jns 0x401c7c
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x401c97
inc dword [ebp - 0x214]
jmp 0x401c9d
dec dword [ebp - 0x214]
inc dword [ebp - 0x228]
jmp 0x401c61
mov dword [ebp - 4], edi
call fcn.00401d30
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x40236a
add dword [ebp - 0x214], ecx
jns 0x401cdb
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401cf7
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], 0x14
and dword [ebp - 0x230], 0
cmp dword [ebp - 0x230], 2
jge 0x401d59
mov eax, dword [ebp - 0x230]
and eax, reloc.WS2_32.dll_accept
jns 0x401d20
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x401d4b
inc dword [ebp - 0x214]
jmp 0x401d51
dec dword [ebp - 0x214]
inc dword [ebp - 0x230]
jmp 0x401d05
mov dword [ebp - 4], edi
call fcn.00401d9d
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x402355
add dword [ebp - 0x214], ecx
xor ecx, ecx
mov eax, ecx
cdq
push 5
pop esi
idiv esi
cmp edx, 1
je 0x401db8
cmp edx, 4
je 0x401db8
and dword [ebp - 0x214], ecx
jmp 0x401dbe
sub dword [ebp - 0x214], ecx
inc ecx
cmp ecx, 4
jl 0x401d80
mov ebx, 0xfa
push ebx
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
sub dword [ebp - 0x214], eax
inc eax
cmp eax, 3
jl 0x401dd9
cmp dword [ebp - 0x214], 0xffff0001
jge 0x401e00
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x401e1c
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x214], eax
xor ecx, ecx
mov eax, ecx
cdq
push 5
pop esi
idiv esi
cmp edx, 1
je 0x401e38
cmp edx, 4
je 0x401e38
and dword [ebp - 0x214], ecx
jmp 0x401e3e
sub dword [ebp - 0x214], ecx
inc ecx
cmp ecx, 4
jl 0x401e1e
push ebx
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
and dword [ebp - 0x214], eax
inc eax
cmp eax, 4
jl 0x401e54
cmp dword [ebp - 0x214], 0
jge 0x401e78
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401e94
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
xor eax, eax
sub dword [ebp - 0x214], eax
inc eax
cmp eax, 2
jl 0x401e96
cmp dword [ebp - 0x214], 0xffff0001
jge 0x401ebd
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x401ed9
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x214], eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x402340
add dword [ebp - 0x214], ecx
and dword [ebp - 0x214], edx
jge 0x401f0d
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401f29
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
xor ecx, ecx
mov eax, ecx
cdq
push 5
pop esi
idiv esi
cmp edx, 1
je 0x401f45
cmp edx, 4
je 0x401f45
and dword [ebp - 0x214], ecx
jmp 0x401f4b
sub dword [ebp - 0x214], ecx
inc ecx
cmp ecx, 2
jl 0x401f2b
push ebx
lea eax, [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
and dword [ebp - 0x214], eax
inc eax
cmp eax, 4
jl 0x401f61
cmp dword [ebp - 0x214], 0
jge 0x401f85
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x401fa1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
xor edx, edx
push 3
pop ecx
div ecx
test edx, edx
jne 0x40232b
add dword [ebp - 0x214], 2
mov esi, dword [ebp - 0x214]
mov dword [ebp - 0x214], esi
mov ebx, 0xffff0001
cmp esi, ebx
jge 0x401fdd
imul esi, esi, 0xfffffffb
mov dword [ebp - 0x214], esi
mov eax, esi
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x401ff7
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
mov dword [ebp - 0x214], esi
cmp esi, ebx
jge 0x402004
imul esi, esi, 0xfffffffb
mov dword [ebp - 0x214], esi
mov eax, esi
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x40201e
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
mov dword [ebp - 0x214], esi
mov dword [ebp - 4], 0x15
and dword [ebp - 0x238], 0
cmp dword [ebp - 0x238], 2
jge 0x40205d
mov eax, dword [ebp - 0x238]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x40204e
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x402055
inc esi
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x238]
jmp 0x40202c
mov dword [ebp - 4], edi
call fcn.004020dd
xor eax, eax
sub dword [ebp - 0x214], eax
inc eax
cmp eax, 2
jl 0x402067
cmp dword [ebp - 0x214], 0xffff0001
jge 0x40208e
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x4020aa
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x214], eax
mov dword [ebp - 4], 0x16
and dword [ebp - 0x240], 0
cmp dword [ebp - 0x240], 0
jge 0x4020f6
mov eax, dword [ebp - 0x240]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x4020e8
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x4020ee
inc dword [ebp - 0x214]
inc dword [ebp - 0x240]
jmp 0x4020b8
mov dword [ebp - 4], edi
call fcn.0040214f
mov dword [ebp - 4], 0x17
push 7
pop ecx
mov dword [ebp - 0x290], ecx
and dword [ebp - 0x248], 0
cmp dword [ebp - 0x248], 1
jge 0x402180
mov eax, dword [ebp - 0x248]
cdq
mov ebx, ecx
idiv ebx
test edx, edx
jne 0x402133
dec dword [ebp - 0x290]
mov eax, esi
cdq
idiv dword [ebp - 0x290]
mov esi, eax
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x248]
jmp 0x402115
mov dword [ebp - 4], edi
xor eax, eax
sub esi, eax
mov dword [ebp - 0x214], esi
inc eax
cmp eax, 3
jl 0x402185
cmp esi, 0xffff0001
jge 0x4021a4
imul esi, esi, 0xfffffffb
mov dword [ebp - 0x214], esi
mov eax, esi
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x4021be
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov esi, eax
mov dword [ebp - 0x214], esi
mov dword [ebp - 4], 0x18
and dword [ebp - 0x250], 0
cmp dword [ebp - 0x250], 4
jge 0x4021fd
mov eax, dword [ebp - 0x250]
cdq
push 3
pop ecx
idiv ecx
cmp edx, 1
jne 0x4021ee
mov eax, ebx
nop
mov ecx, edx
nop
jmp 0x4021f5
inc esi
mov dword [ebp - 0x214], esi
inc dword [ebp - 0x250]
jmp 0x4021cc
mov dword [ebp - 4], edi
call fcn.0040223e
mov dword [ebp - 4], 0x19
and dword [ebp - 0x258], 0
cmp dword [ebp - 0x258], 2
jge 0x402257
mov eax, dword [ebp - 0x258]
and eax, reloc.WS2_32.dll_accept
jns 0x40222e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x402249
inc dword [ebp - 0x214]
jmp 0x40224f
dec dword [ebp - 0x214]
inc dword [ebp - 0x258]
jmp 0x402213
mov dword [ebp - 4], edi
call fcn.004022e1
cmp dword [ebp - 0x214], 0xffff0001
jge 0x40227a
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 7
pop ecx
idiv ecx
test edx, edx
je 0x402296
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x214], eax
xor esi, esi
xor eax, eax
and dword [ebp - 0x214], eax
inc eax
cmp eax, 3
jl 0x40229a
cmp dword [ebp - 0x214], esi
jge 0x4022bd
mov eax, dword [ebp - 0x214]
imul eax, eax, 0xfffffffb
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cdq
push 0xd
pop ecx
idiv ecx
test edx, edx
jne 0x4022d9
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x214], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
jmp 0x40230c
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
call edi
push 3
xor edx, edx
pop ecx
div ecx
test edx, edx
jne 0x4022fc
inc dword [ebp - 0x214]
mov eax, dword [ebp - 0x214]
call fcn.0045cbe8
ret
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x401fa3
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x401edb
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x401d63
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x401caf
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x401943
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x401930
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x40162f
imul ebx, esi
mov dword [ebp - 0x214], ebx
inc esi
jmp 0x4015a6
imul ebx, esi
mov dword [ebp - 0x214], ebx
inc esi
jmp 0x40154f
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x401441
mov eax, esi
imul eax, dword [ebp - 0x214]
mov dword [ebp - 0x214], eax
inc esi
jmp 0x4011b7