Function at 0x402040
Capabilities:
Initialize winsock library
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2e4
mov eax, dword [0x415024]
xor eax, esp
mov dword [esp + 0x2e0], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x10]
push esi
lea edx, [esp + 0x1e4]
push edi
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x402070
lea ecx, [esp + 0x1e8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [esp + 0x1e8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402092
sub eax, edx
test eax, eax
jle 0x40252f
lea eax, [esp + 0x1e8]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4020b0
sub eax, edx
cmp eax, 0x10
jb 0x4025b4
lea eax, [esp + 0x1e8]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4020d0
sub eax, edx
cmp eax, 0x80
ja 0x4025b4
lea eax, [esp + 0x1e8]
xor edi, edi
xor ecx, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4020f2
sub eax, esi
je 0x40213e
mov ebx, 0x41d0d4
lea edx, [esp + 0x1e8]
sub ebx, edx
jmp 0x402110
mov al, byte [esp + ecx + 0x1e8]
cmp al, 0x20
je 0x40213e
lea edx, [ebx + ecx]
mov byte [esp + edx + 0x1e8], al
lea eax, [esp + 0x1e8]
inc edi
inc ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402131
sub eax, esi
cmp ecx, eax
jb 0x402110
lea eax, [esp + 0x1e8]
mov byte [edi + 0x41d0d4], 0
xor ebx, ebx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402151
sub eax, esi
cmp ecx, eax
jae 0x4021bf
lea eax, [esp + 0x1e8]
lea esi, [ecx + 1]
lea edx, [eax + 1]
jmp 0x402170
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402170
sub eax, edx
cmp esi, eax
jae 0x4021c3
lea edi, [esp + 0x1c8]
sub edi, esi
jmp 0x402190
mov al, byte [esp + esi + 0x1e8]
cmp al, 0x20
je 0x4021c3
mov byte [edi + esi], al
lea eax, [esp + 0x1e8]
inc ebx
inc esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4021b0
sub eax, edx
cmp esi, eax
jb 0x402190
jmp 0x4021c3
mov esi, dword [esp + 0x10]
lea eax, [esp + 0x1c8]
push eax
mov byte [esp + ebx + 0x1cc], 0
call fcn.00403117
mov dword [0x41d0a0], eax
lea eax, [esp + 0x1ec]
add esp, 4
xor ebx, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4021f0
sub eax, edx
cmp esi, eax
jae 0x40224f
lea eax, [esp + 0x1e8]
inc esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402208
sub eax, edx
cmp esi, eax
jae 0x402253
lea edi, [esp + 0x1a8]
sub edi, esi
mov edi, edi
mov al, byte [esp + esi + 0x1e8]
cmp al, 0x20
je 0x402253
mov byte [edi + esi], al
lea eax, [esp + 0x1e8]
inc ebx
inc esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402240
sub eax, edx
cmp esi, eax
jb 0x402220
jmp 0x402253
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x1a8]
push ecx
mov byte [esp + ebx + 0x1ac], 0
call fcn.00403117
mov dword [0x41d09c], eax
lea eax, [esp + 0x1ec]
add esp, 4
xor ebx, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402280
sub eax, edx
cmp esi, eax
jae 0x4022df
lea eax, [esp + 0x1e8]
inc esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402298
sub eax, edx
cmp esi, eax
jae 0x4022e3
lea edi, [esp + 0x1d8]
sub edi, esi
mov edi, edi
mov al, byte [esp + esi + 0x1e8]
cmp al, 0x20
je 0x4022e3
mov byte [edi + esi], al
lea eax, [esp + 0x1e8]
inc ebx
inc esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4022d0
sub eax, edx
cmp esi, eax
jb 0x4022b0
jmp 0x4022e3
mov esi, dword [esp + 0x10]
lea edx, [esp + 0x1d8]
push edx
mov byte [esp + ebx + 0x1dc], 0
call fcn.00403117
mov dword [0x41d098], eax
lea eax, [esp + 0x1ec]
add esp, 4
xor ebx, ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402310
sub eax, edx
cmp esi, eax
jae 0x40237f
lea eax, [esp + 0x1e8]
lea ecx, [esi + 1]
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402330
sub eax, esi
cmp ecx, eax
jae 0x402383
lea edi, [esp + 0x1b8]
sub edi, ecx
jmp 0x402350
mov al, byte [esp + ecx + 0x1e8]
cmp al, 0x20
je 0x402383
mov byte [edi + ecx], al
lea eax, [esp + 0x1e8]
inc ebx
inc ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402370
sub eax, esi
cmp ecx, eax
jb 0x402350
jmp 0x402383
mov ecx, dword [esp + 0x10]
mov byte [esp + ebx + 0x1b8], 0
mov esi, 0x412da4
lea eax, [esp + 0x1b8]
mov dl, byte [eax]
cmp dl, byte [esi]
jne 0x4023b7
test dl, dl
je 0x4023b3
mov dl, byte [eax + 1]
cmp dl, byte [esi + 1]
jne 0x4023b7
add eax, 2
add esi, 2
test dl, dl
jne 0x402397
xor eax, eax
jmp 0x4023bc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40252f
lea eax, [esp + 0x1e8]
xor ebx, ebx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4023d0
sub eax, esi
cmp ecx, eax
jae 0x40242f
lea eax, [esp + 0x1e8]
inc ecx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4023e8
sub eax, esi
cmp ecx, eax
jae 0x402433
mov edi, 0x41d0b4
sub edi, ecx
lea esp, [esp]
mov al, byte [esp + ecx + 0x1e8]
cmp al, 0x20
je 0x402433
mov byte [edi + ecx], al
lea eax, [esp + 0x1e8]
inc ebx
inc ecx
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402420
sub eax, esi
cmp ecx, eax
jb 0x402400
jmp 0x402433
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x1e8]
mov byte [ebx + 0x41d0b4], 0
xor ebx, ebx
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402446
sub eax, esi
cmp ecx, eax
jae 0x40249f
lea eax, [esp + 0x1e8]
lea esi, [ecx + 1]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402460
sub eax, edx
cmp esi, eax
jae 0x4024a3
mov edi, 0x41d0a4
sub edi, esi
mov al, byte [esp + esi + 0x1e8]
cmp al, 0x20
je 0x4024a3
mov byte [edi + esi], al
lea eax, [esp + 0x1e8]
inc ebx
inc esi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402490
sub eax, edx
cmp esi, eax
jb 0x402474
jmp 0x4024a3
mov esi, dword [esp + 0x10]
push 0x41d0a4
mov byte [ebx + 0x41d0a4], 0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea eax, [esp + 0x1e8]
xor ebx, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4024c1
sub eax, edx
cmp esi, eax
jae 0x40251d
lea eax, [esp + 0x1e8]
lea ecx, [esi + 1]
lea esi, [eax + 1]
jmp 0x4024e0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4024e0
sub eax, esi
cmp ecx, eax
jae 0x40251d
mov edi, 0x41d018
sub edi, ecx
mov al, byte [esp + ecx + 0x1e8]
cmp al, 0x20
je 0x40251d
mov byte [edi + ecx], al
lea eax, [esp + 0x1e8]
inc ebx
inc ecx
lea esi, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x402510
sub eax, esi
cmp ecx, eax
jb 0x4024f4
push 0x41d018
mov byte [ebx + 0x41d018], 0
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [0x41d0f4], 0x14
call fcn.00401f40
mov eax, dword [str.sremote.ini]
mov edx, dword [0x412de0]
mov ecx, 9
mov esi, str.http:__www.seetrol.co.kr_seetrolasp
mov edi, 0x41cf50
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x412ddc]
mov dword [0x41cfd0], eax
xor eax, eax
push 0x18e
mov dword [0x41cfd4], ecx
push eax
lea ecx, [esp + 0x22]
push ecx
mov dword [0x41cfd8], edx
mov word [esp + 0x24], ax
call fcn.00404860
add esp, 0xc
lea edx, [esp + 0x18]
push edx
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov eax, dword [esp + 0x14]
push 0
push 0x4025d0
push 0
push 0x67
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamA]
call dword [sym.imp.WS2_32.dll_WSACleanup]
mov ecx, dword [esp + 0x2ec]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00402abc
mov esp, ebp
pop ebp
ret 0x10