Function at 0x100b17f0
Capabilities:
Copy file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102fb18a
mov eax, dword fs:[0]
push eax
sub esp, 0x724
mov eax, dword [case.0x100be6e1.80]
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 - 0x6c0], ebx
mov eax, dword [ebp + 8]
mov ecx, eax
movzx eax, ax
shr ecx, 0x10
cmp eax, 0x1006
ja 0x100b1938
je 0x100b1902
sub eax, 0xfa2
je 0x100b18c7
sub eax, 2
je 0x100b188c
sub eax, 0x61
jne 0x100b2344
cmp dword [ebx + 0xc0], eax
je 0x100b2344
mov eax, 0x300
cmp cx, ax
jne 0x100b2344
push 0x80
push 0x103c9fc4
push 0x1005
mov ecx, ebx
call fcn.100ccffd
jmp 0x100b2344
cmp dword [ebx + 0xc0], 0
je 0x100b2344
cmp cx, 1
jne 0x100b2344
push 0
push 0
push 0x147
push 0xfa4
mov ecx, ebx
call fcn.100cda2f
mov dword [0x103c9578], eax
call fcn.10051580
jmp 0x100b2344
cmp dword [ebx + 0xc0], 0
je 0x100b2344
cmp cx, 1
jne 0x100b2344
push 0
push 0
push 0x147
push 0xfa2
mov ecx, ebx
call fcn.100cda2f
mov dword [0x103c9574], eax
call fcn.10051580
jmp 0x100b2344
cmp dword [ebx + 0xc0], 0
je 0x100b2344
mov eax, 0x300
cmp cx, ax
jne 0x100b2344
push 0x80
push 0x103c9fec
push 0x1006
mov ecx, ebx
call fcn.100ccffd
jmp 0x100b2344
sub eax, 0x1195
je 0x100b21f4
sub eax, 0x69
je 0x100b21a3
sub eax, 1
jne 0x100b2344
lea ecx, [ebp - 0x6a4]
call fcn.100032e0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x6ac]
call fcn.100032e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6b0]
call fcn.100032e0
mov byte [ebp - 4], 2
lea ecx, [ebx + 0x7f8]
push 1
push 1
call fcn.1000f250
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x38]
push eax
lea ecx, [ebp - 0x6a4]
call fcn.100035e0
push 2
push 1
lea ecx, [ebx + 0x7f8]
call fcn.1000f250
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x38]
push eax
lea ecx, [ebp - 0x6ac]
call fcn.100035e0
push 3
push 1
lea ecx, [ebx + 0x7f8]
call fcn.1000f250
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x38]
push eax
lea ecx, [ebp - 0x6b0]
call fcn.100035e0
push 0
push 0
push 0x1004
push dword [ebx + 0xcd0]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0x6a4]
or esi, 0xffffffff
mov edi, eax
cmp dword [ecx - 0xc], 0
jle 0x100b215c
mov ecx, dword [ebp - 0x6ac]
cmp dword [ecx - 0xc], 0
jle 0x100b215c
mov eax, dword [ebp - 0x6b0]
cmp dword [eax - 0xc], 0
jle 0x100b215c
xorps xmm0, xmm0
mov dword [ebp - 0x6f8], 0
xor esi, esi
movlpd qword [ebp - 0x728], xmm0
movlpd qword [ebp - 0x720], xmm0
movlpd qword [ebp - 0x718], xmm0
movlpd qword [ebp - 0x710], xmm0
movlpd qword [ebp - 0x708], xmm0
movlpd qword [ebp - 0x700], xmm0
mov dword [ebp - 0x730], 1
mov dword [ebp - 0x72c], edi
mov dword [ebp - 0x6a8], 0
test edi, edi
jle 0x100b1b21
lea eax, [ebx + 0xcb0]
nop dword [eax]
push 0
push esi
lea ecx, [ebp - 0x6b4]
push ecx
mov ecx, eax
call fcn.100d83ab
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6a4]
push ecx
push eax
call fcn.100b1170
add esp, 8
mov byte [ebp - 0x69d], al
mov byte [ebp - 4], 2
or ecx, 0xffffffff
mov edx, dword [ebp - 0x6b4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ecx
dec ecx
test ecx, ecx
jg 0x100b1af3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov al, byte [ebp - 0x69d]
test al, al
jne 0x100b1b04
inc esi
lea eax, [ebx + 0xcb0]
cmp esi, edi
jl 0x100b1aa0
jmp 0x100b1b21
push 0
push 0x1032d130
push str.Serial_of_the_name_is_already_registered.
mov ecx, ebx
call fcn.100c7dd2
mov dword [ebp - 0x6a8], 1
xor esi, esi
test edi, edi
jle 0x100b1ba1
lea eax, [ebx + 0xcb0]
nop dword [eax]
push 2
push esi
lea ecx, [ebp - 0x6b4]
push ecx
mov ecx, eax
call fcn.100d83ab
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x6ac]
test ecx, ecx
je 0x100b2379
push ecx
push dword [eax]
call fcn.102b2edb
add esp, 8
test eax, eax
sete byte [ebp - 0x69d]
mov byte [ebp - 4], 2
or eax, 0xffffffff
mov edx, dword [ebp - 0x6b4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b1b89
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0x69d], 0
jne 0x100b1c1e
inc esi
lea eax, [ebx + 0xcb0]
cmp esi, edi
jl 0x100b1b30
cmp dword [ebp - 0x6a8], 0
je 0x100b1c36
mov byte [ebp - 4], 1
or esi, 0xffffffff
mov edx, dword [ebp - 0x6b0]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b1bd2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, esi
mov edx, dword [ebp - 0x6ac]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b1bf3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x6a4]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x100b2344
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x100b2344
push 0
push 0x1032d130
push str.IP_address_is_already_registered.
mov ecx, ebx
call fcn.100c7dd2
jmp 0x100b1bae
lea eax, [ebp - 0x730]
push eax
push 0
push 0x1007
push dword [ebx + 0xcd0]
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [edi + 1]
push eax
lea eax, [ebp - 0x1c]
push 0x1031c474
push eax
call fcn.100029e0
mov eax, dword [ebp - 0x6a4]
add esp, 0xc
mov dword [ebp - 0x6bc], 0
mov dword [ebp - 0x6b8], 0
mov esi, dword [eax - 0xc]
test esi, esi
js 0x100b236f
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x100b1cad
push esi
lea ecx, [ebp - 0x6a4]
call fcn.10003170
mov eax, dword [ebp - 0x6a4]
lea ecx, [ebp - 0x6b8]
push ecx
lea ecx, [ebp - 0x6bc]
push ecx
lea ecx, [ebp - 0x9c]
push ecx
push eax
call fcn.10026010
add esp, 0x10
lea ecx, [ebx + 0xcb0]
push dword [ebp - 0x6a4]
push 0
push edi
call fcn.100d91a7
lea eax, [ebp - 0x9c]
push eax
push 1
push edi
lea ecx, [ebx + 0xcb0]
call fcn.100d91a7
push dword [ebp - 0x6ac]
lea ecx, [ebx + 0xcb0]
push 2
push edi
call fcn.100d91a7
push dword [ebp - 0x6b0]
lea ecx, [ebx + 0xcb0]
push 4
push edi
call fcn.100d91a7
push 0x1032d124
push 6
push edi
lea ecx, [ebx + 0xcb0]
call fcn.100d91a7
push 0
push ecx
mov esi, esp
mov dword [ebp - 0x6b4], esp
mov dword [ebp - 0x6a8], esi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b2379
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xa
mov ecx, esi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b1d7b
push 1
push 0x1032d12c
mov ecx, esi
call fcn.1000aa00
mov byte [ebp - 4], 0xb
push ecx
mov esi, esp
mov dword [ebp - 0x6a8], esp
mov dword [ebp - 0x6c4], esi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b2383
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xc
mov ecx, esi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b1dc9
push 1
push 0x1032d12c
mov ecx, esi
call fcn.1000aa00
mov byte [ebp - 4], 0xd
push ecx
mov esi, esp
mov dword [ebp - 0x6c4], esp
mov dword [ebp - 0x6c8], esi
mov eax, dword [ebp - 0x6b0]
add eax, 0xfffffff0
push eax
call fcn.100092d0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0xf
mov esi, esp
mov dword [ebp - 0x6c8], esp
mov dword [ebp - 0x6cc], esi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b238d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x10
mov ecx, esi
push 0x1032d12c
call fcn.10003e40
test al, al
jne 0x100b1e3d
push 1
push 0x1032d12c
mov ecx, esi
call fcn.1000aa00
mov byte [ebp - 4], 0x11
push ecx
mov esi, esp
mov dword [ebp - 0x6cc], esp
mov dword [ebp - 0x6d0], esi
mov eax, dword [ebp - 0x6ac]
add eax, 0xfffffff0
push eax
call fcn.100092d0
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x13
mov esi, esp
mov dword [ebp - 0x6d0], esp
mov dword [ebp - 0x6d4], esi
call fcn.100c32b9
mov ecx, eax
test ecx, ecx
je 0x100b2397
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x9c]
push eax
mov ecx, esi
call fcn.10003e40
test al, al
jne 0x100b1ec8
lea ecx, [ebp - 0x9c]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100b1eb0
sub ecx, edx
lea eax, [ebp - 0x9c]
push ecx
push eax
mov ecx, esi
call fcn.1000aa00
mov byte [ebp - 4], 0x15
push ecx
mov esi, esp
mov dword [ebp - 0x6d4], esp
mov dword [ebp - 0x6d8], esi
mov eax, dword [ebp - 0x6a4]
add eax, 0xfffffff0
push eax
call fcn.100092d0
add eax, 0x10
add esp, 4
mov dword [esi], eax
mov byte [ebp - 4], 0x17
mov byte [ebp - 4], 2
mov ecx, ebx
call fcn.100b1320
push dword [ebp - 0x6b8]
lea eax, [ebp - 0x19c]
push str..parameter__02d_.par
push eax
call fcn.100029e0
add esp, 0xc
lea ecx, [ebp - 0x6f4]
call fcn.100cedce
mov byte [ebp - 4], 0x18
lea eax, [ebp - 0x19c]
push 0
push eax
lea ecx, [ebp - 0x6f4]
call fcn.100cf0b3
test eax, eax
je 0x100b201a
nop word [eax + eax]
lea ecx, [ebp - 0x6f4]
call fcn.100cf26c
mov dword [ebp - 0x6b4], eax
lea ecx, [ebp - 0x6f4]
lea eax, [ebp - 0x6a8]
push eax
call fcn.100cf31b
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x19c]
push str..parameter_
push eax
call fcn.100029e0
mov eax, dword [ebp - 0x6a8]
add esp, 8
mov esi, dword [eax - 0xc]
test esi, esi
js 0x100b236f
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x100b1fbf
push esi
lea ecx, [ebp - 0x6a8]
call fcn.10003170
mov eax, dword [ebp - 0x6a8]
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100b1fc1
lea edi, [ebp - 0x19c]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x100b1fd1
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp - 4], 0x18
or esi, 0xffffffff
mov edx, dword [ebp - 0x6a8]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b200b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x6b4], 0
jne 0x100b1f50
jmp 0x100b201d
or esi, 0xffffffff
lea eax, [ebp - 0x19c]
push eax
lea eax, [ebp - 0x49c]
push 0x1031f534
push eax
call fcn.100029e0
add esp, 0xc
lea eax, [ebp - 0x49c]
mov ecx, 0x103c8e30
push 1
push 0
push eax
call fcn.1002c7c0
call fcn.100c3b5c
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x29c]
push 0x100
push ecx
mov eax, dword [eax + 8]
push eax
call edi
lea eax, [ebp - 0x29c]
push 0x2e
push eax
call fcn.102a1020
mov edx, 0x103c94c8
add esp, 8
mov dword [eax + 1], 0x494e49
mov eax, dword [ebp - 0x6b8]
mov dword [0x103c9a24], eax
mov eax, dword [ebp - 0x6ac]
sub edx, eax
nop word [eax + eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x100b20a0
cmp dword [0x103c977c], 0
je 0x100b214d
push 0x103c94c8
call fcn.100be9f0
add esp, 4
mov ebx, eax
call fcn.100c3b5c
push 0x100
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x39c]
push eax
push ecx
call edi
lea eax, [ebp - 0x39c]
push 0x2e
push eax
call fcn.102a1020
mov byte [eax], 0
mov eax, ebx
shr eax, 0x18
push eax
shr ebx, 0x10
movzx eax, bl
push eax
lea eax, [ebp - 0x69c]
push str.__2.2d__2.2d
push eax
call fcn.100029e0
lea eax, [ebp - 0x69c]
push eax
lea eax, [ebp - 0x39c]
push eax
lea eax, [ebp - 0x29c]
push str._s_s.ini
push eax
call fcn.100029e0
add esp, 0x28
lea eax, [ebp - 0x29c]
push 0
push eax
lea eax, [ebp - 0x49c]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebx, dword [ebp - 0x6c0]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6f4]
call fcn.100cef95
mov byte [ebp - 4], 1
mov eax, esi
mov edx, dword [ebp - 0x6b0]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b217d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, esi
mov edx, dword [ebp - 0x6ac]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x100b219e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x100b1bf3
push 0x100
lea eax, [ebp - 0x59c]
mov ecx, ebx
push eax
push 0xfa1
call fcn.100ccffd
lea edi, [ebp - 0x59c]
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x100b21c2
mov ax, word [0x1031b1a0]
mov word [edi], ax
lea eax, [ebp - 0x59c]
push eax
call fcn.10051680
push 0xfa1
push ebx
call fcn.100be420
add esp, 0xc
jmp 0x100b2344
push 0x1195
mov ecx, ebx
call fcn.100cd5f9
mov dword [0x103ca01c], eax
test eax, eax
je 0x100b222d
push 0x1195
mov ecx, ebx
call fcn.100cd5f9
push 0x1195
mov ecx, ebx
mov dword [0x103c977c], eax
call fcn.100cd5f9
mov dword [0x103c9774], eax
jmp 0x100b2274
cmp dword [0x103ca014], 0
jne 0x100b2274
mov ecx, dword [0x103c9140]
push 0x1133
call fcn.100cd5f9
test eax, eax
je 0x100b2260
mov dword [0x103c977c], 0
mov dword [0x103c9774], 0
jmp 0x100b2274
mov dword [0x103c977c], 1
mov dword [0x103c9774], 1
push dword [0x103ca01c]
mov ecx, ebx
push 0x1388
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x1389
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x11ff
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0xfa4
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0xfa2
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x1005
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
push dword [0x103ca01c]
mov ecx, ebx
push 0x1006
call fcn.100ccf47
mov ecx, eax
call fcn.100ccd96
cmp dword [0x103ca014], 0
je 0x100b2339
mov ecx, dword [0x103c911c]
call fcn.1009a330
jmp 0x100b2344
mov ecx, dword [0x103c9140]
call fcn.100aec10
push dword [ebp + 0xc]
mov ecx, ebx
push dword [ebp + 8]
call fcn.100c7f36
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.10291e04
mov esp, ebp
pop ebp
ret 8
push 0x80070057
call fcn.10002bc0
push 0x80004005
call fcn.10002bc0
push 0x80004005
call fcn.10002bc0
push 0x80004005
call fcn.10002bc0
push 0x80004005
call fcn.10002bc0
int3