Function at 0x403000
Capabilities:
Check for time delay via queryperformancecounter
Create udp socket
Receive data
Receive data on socket
Set socket configuration

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44843b
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1930
call fcn.00422a20
mov eax, dword [0x45a080]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x18c0], edi
mov ecx, 0x4690e3
call fcn.00447953
cmp byte [edi + 0x1f0e], 0
jne 0x40306d
cmp dword [0x461cec], 0
jne 0x40306d
xor eax, eax
jmp 0x403072
mov eax, 1
push 0x5db
mov dword [0x461df8], eax
lea eax, [ebp - 0xb97]
push 0
push eax
mov byte [ebp - 0xb98], 0
call fcn.00423a10
add esp, 0xc
mov byte [ebp - 0xb8], 0
lea eax, [ebp - 0xb7]
push 0x7f
push 0
push eax
call fcn.00423a10
add esp, 0xc
mov byte [ebp - 0x24], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1b], 0
lea esi, [edi + 0xdc]
movq qword [ebp - 0x23], xmm0
mov word [ebp - 0x17], 0
push 3
push 0x452414
push esi
mov byte [ebp - 0x15], 0
mov dword [edi + 0x1dd4], 0
mov word [edi + 0x15fc], 0
call fcn.0042a910
add esp, 0xc
test eax, eax
je 0x40320d
lea eax, [edi + 0x10d]
mov ecx, 0x4522a0
test eax, eax
cmovne ecx, eax
mov dword [ebp - 0x18b0], ecx
push 3
push 0x452418
push esi
call fcn.0042a910
add esp, 0xc
test eax, eax
jne 0x403132
mov dword [ebp - 0x18b4], 0x452420
jmp 0x403157
push 3
push 0x4524a8
push esi
call fcn.0042a910
add esp, 0xc
mov ecx, str.Hamachi
test eax, eax
mov eax, 0x4524f4
cmovne ecx, eax
mov dword [ebp - 0x18b4], ecx
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push dword [ebp - 0x18b4]
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push dword [ebp - 0x18b0]
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0x1f4
mov dword [edi + 0x1dd4], 1
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
mov ecx, edi
call fcn.00402d10
push 3
push 0x452414
lea esi, [edi + 0xdc]
push esi
call fcn.0042a910
add esp, 0xc
test eax, eax
jne 0x403112
cmp byte [edi + 0x1602], 0
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
je 0x4035be
push 0x304
lea esi, [edi + 0x10d]
call fcn.00421968
add esp, 4
mov edi, eax
mov dword [ebp - 0x18ac], edi
push 0x452520
push 0x100
push edi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x100]
test esi, esi
mov ecx, 0x4522a0
cmovne ecx, esi
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [edi + 0x300], 0
push 0
push edi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [ebp - 0x18c0]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp byte [edi + 0x15f4], 0
mov dword [ebp - 0x18b4], 1
je 0x404930
nop word [eax + eax]
mov eax, dword [edi + 0x1b0]
mov ecx, edi
and eax, 0xffffff
mov byte [edi + 0x1698], 0
push eax
call fcn.00402d10
cmp byte [edi + 0xfc], 0
jne 0x403300
cmp dword [ebp - 0x18b4], 1
jne 0x40340c
cmp byte [edi + 0x1602], 0
jne 0x403387
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x4527f4
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x4527a8
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
push dword [edi + 0x1ac]
lea ecx, [edi + 0x830]
call fcn.00413fb0
lea eax, [ebp - 0x18b8]
mov dword [ebp - 0x18c8], 0x100000
push eax
lea eax, [ebp - 0x18c4]
mov dword [ebp - 0x18c4], 0
push eax
push 0x1002
push 0xffff
push dword [edi + 0x838]
mov dword [ebp - 0x18b8], 4
call dword [sym.imp.WS2_32.dll_getsockopt]
push 4
lea eax, [ebp - 0x18c8]
push eax
push 0x1002
push 0xffff
push dword [edi + 0x838]
call dword [sym.imp.WS2_32.dll_setsockopt]
call esi
mov dword [edi + 0x860], eax
cmp eax, 0x271d
je 0x404b50
cmp byte [edi + 0xfc], 0
jne 0x403422
cmp byte [edi + 0xea8], 0
jne 0x4034cc
mov ecx, edi
call fcn.00405260
test al, al
je 0x404a4f
push 0x45289c
push 0x100
push 0x461738
call fcn.004013f0
add esp, 0xc
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x461738
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x10d]
test eax, eax
mov ecx, 0x4522a0
cmovne ecx, eax
lea eax, [esi + 0x100]
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [edi + 0x1602], 0
jne 0x403f5a
cmp byte [edi + 0x15fd], 0
jne 0x403f5a
cmp byte [edi + 0x1601], 0
push 0x304
je 0x403e54
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452934
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x4528f0
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [edi + 0x1603], 0
jne 0x403f5a
lea eax, [edi + 0x1680]
mov byte [edi + 0x1603], 1
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0
push 0x3e8
push 0x3e7
push dword [0x461838]
xorps xmm0, xmm0
mov dword [edi + 0x1678], 0
movsd qword [edi + 0x1690], xmm0
call dword [sym.imp.USER32.dll_SetTimer]
jmp 0x403f5a
cmp byte [edi + 0x15ff], 0
jne 0x4032b0
push 0x304
lea esi, [edi + 0x10d]
call fcn.00421968
add esp, 4
mov edi, eax
mov dword [ebp - 0x18ac], edi
push 0x452568
push 0x100
push edi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x100]
test esi, esi
mov ecx, 0x4522a0
cmovne ecx, esi
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [edi + 0x300], 0
push 0
push edi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x1898]
call fcn.00413b30
mov dword [ebp - fcn.00414100], 0x453014
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x1890]
mov edi, dword [sym.imp.WS2_32.dll_closesocket]
test eax, eax
je 0x40367e
push eax
call edi
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x1890], eax
call esi
cmp dword [ebp - 0x1890], 0xffffffff
mov ecx, 2
mov dword [ebp - 0x1868], eax
je 0x403718
mov eax, dword [0x4618c4]
xorps xmm0, xmm0
mov dword [ebp - 0x18b4], eax
movups xmmword [ebp - 0x187c], xmm0
push 0x2711
mov byte [ebp - 0x18b1], 0xff
mov word [ebp - 0x187c], cx
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x187a], ax
mov eax, dword [ebp - 0x18b4]
push 1
mov dword [ebp - 0x1878], eax
lea eax, [ebp - 0x18b9]
push eax
push 0x20
push 0xffff
push dword [ebp - 0x1890]
mov byte [ebp - 0x18b9], 1
call dword [sym.imp.WS2_32.dll_setsockopt]
call esi
mov dword [ebp - 0x1868], eax
push str.IAMCLIENT
lea ecx, [ebp - 0x1898]
call fcn.00414100
mov eax, dword [ebp - 0x1890]
test eax, eax
je 0x403735
push eax
call edi
mov edi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x1910]
push eax
mov dword [ebp - 0x1890], 0
call edi
lea eax, [ebp - 0x1930]
mov dword [ebp - 0x1918], 0
xorps xmm0, xmm0
push eax
movsd qword [ebp - 0x1900], xmm0
call edi
lea eax, [ebp - 0x1910]
mov dword [ebp - 0x1938], 0
xorps xmm0, xmm0
push eax
movsd qword [ebp - 0x1920], xmm0
call edi
mov edi, dword [ebp - 0x18c0]
xorps xmm0, xmm0
mov dword [ebp - 0x1918], 0
movsd qword [ebp - 0x1900], xmm0
mov dword [ebp - 0x18b4], 0
nop
lea ecx, [ebp - 0x1220]
call fcn.00413b30
mov dword [ebp - fcn.00414100], 0x453014
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x1218]
test eax, eax
je 0x4037e4
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - 0x1218], 0
push 1
push 0
push 0
push 0x11
push 2
push 2
call dword [sym.imp.WS2_32.dll_WSASocketA]
mov dword [ebp - 0x1218], eax
call esi
cmp dword [ebp - 0x1218], 0xffffffff
mov dword [ebp - 0x11f0], eax
je 0x40386f
xorps xmm0, xmm0
mov eax, 2
push 0x2711
movlpd qword [ebp - 0xba0], xmm0
mov word [ebp - 0xba8], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0xba6], ax
lea eax, [ebp - 0xba8]
push 0x10
push eax
push dword [ebp - 0x1218]
mov dword [ebp - 0xba4], 0
call dword [sym.imp.WS2_32.dll_bind]
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x11f0], eax
cmp esi, 0xffffffff
je 0x40386f
mov byte [ebp - 0xbf7], 0
cmp dword [0x461df8], 0
mov ecx, 0x64
mov eax, 0x2710
mov dword [ebp - 0x18b8], 0x10
cmovg eax, ecx
push 4
mov dword [ebp - 0x18b0], eax
lea eax, [ebp - 0x18b0]
push eax
push 0x1006
push 0xffff
push dword [ebp - 0x1218]
call dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x11f0], eax
cmp esi, 0xffffffff
je 0x403966
lea eax, [ebp - 0x18b8]
push eax
lea eax, [ebp - 0x18a8]
push eax
push 0
push 0x5dc
lea eax, [ebp - 0x5b8]
push eax
push dword [ebp - 0x1218]
call dword [sym.imp.WS2_32.dll_recvfrom]
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - 0x11f0], eax
cmp esi, 0xffffffff
jne 0x40390c
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x403966
mov eax, dword [ebp - 0x18a4]
cmp eax, dword [0x4618c4]
je 0x403966
push eax
mov byte [ebp + esi - 0x5b8], 0
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x24]
push 0x10
push eax
call fcn.0042a8b3
mov eax, dword [ebp - 0x18a4]
add esp, 0xc
mov dword [ebp - 0x11f4], eax
test esi, esi
jle 0x403966
push 6
lea eax, [ebp - 0x5b8]
push str.ALIVE
push eax
call fcn.0042a910
add esp, 0xc
test eax, eax
je 0x403cd8
mov eax, dword [ebp - 0x1218]
test eax, eax
je 0x403977
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov eax, dword [0x461df8]
xor ecx, ecx
cmp eax, 1
mov dword [ebp - 0x1218], 0
setge cl
jge 0x40399d
cmp dword [0x461cec], 0
je 0x403c21
test eax, eax
mov esi, 0x3e8
mov eax, 0x64
cmovg esi, eax
test ecx, ecx
je 0x403c21
lea eax, [ebp - 0x1908]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x1908]
sub ecx, dword [ebp - 0x1910]
mov edx, dword [ebp - 0x1904]
sbb edx, dword [ebp - 0x190c]
call fcn.00447a00
mulsd xmm0, qword [0x461ce0]
cvttsd2si eax, xmm0
cmp eax, esi
jl 0x403c21
mov eax, dword [0x461df8]
dec eax
cmp eax, 5
ja case.0x403a01.2
jmp dword [eax*4 + 0x404cb8]
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452630
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x4525c8
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4525b4
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 1
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp dword [ebp - 0x18b4], 0
jne case.0x403a01.2
call fcn.00417620
mov dword [ebp - 0x18b4], 1
jmp case.0x403a01.2
mov dword [0x461df8], 5
jmp case.0x403a01.2
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452734
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x4522a0
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 0x1930]
mov dword [0x461df8], 6
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
xorps xmm0, xmm0
mov dword [ebp - 0x1938], 0
movsd qword [ebp - 0x1920], xmm0
jmp case.0x403a01.2
lea eax, [ebp - 0x1928]
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 0x1928]
sub ecx, dword [ebp - 0x1930]
mov edx, dword [ebp - 0x1924]
sbb edx, dword [ebp - 0x192c]
call fcn.00447a00
mulsd xmm0, qword [0x461ce0]
cvttsd2si eax, xmm0
cmp eax, 0x2710
jle case.0x403a01.2
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452758
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x461cf0
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x461df8], 7
jmp case.0x403a01.2
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452568
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x10d]
test eax, eax
mov ecx, 0x4522a0
cmovne ecx, eax
lea eax, [esi + 0x100]
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0
mov ecx, edi
call fcn.00402d10
mov eax, dword [ebp - 0x1218]
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [ebp - fcn.00414100], vtable.Unicast.0
test eax, eax
je 0x4037b0
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
jmp 0x4037b0
push 0x80
lea eax, [ebp - 0x138]
push eax
push 0x80
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x5b2]
push str._s_s
push eax
call fcn.00401460
lea eax, [ebp - 0x138]
push eax
lea eax, [edi + 0xfd]
push 0x10
push eax
call fcn.0042a8b3
add esp, 0x24
lea eax, [ebp - 0x138]
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
test eax, eax
jle 0x403d3a
mov eax, dword [ebp - 0x11f4]
test eax, eax
je 0x403d3a
mov dword [edi + 0x1b0], eax
mov eax, dword [ebp - 0x1218]
mov esi, dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - fcn.00414100], vtable.Unicast.0
test eax, eax
je 0x403d57
push eax
call esi
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1890]
mov dword [ebp - fcn.00414100], vtable.Unicast.0
test eax, eax
je 0x4032aa
push eax
call esi
jmp 0x4032aa
cmp dword [0x465a54], 0xf
mov esi, 0x465a40
push 0x304
cmova esi, dword [0x465a40]
call fcn.00421968
add esp, 4
mov edi, eax
mov dword [ebp - 0x18ac], edi
push 0x452698
push 0x100
push edi
call fcn.0042a8b3
add esp, 0xc
mov eax, 0x4522a0
test esi, esi
cmovne eax, esi
push eax
lea eax, [edi + 0x100]
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [edi + 0x300], 0
push 0
push edi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x1218]
mov esi, dword [sym.imp.WS2_32.dll_closesocket]
mov dword [ebp - fcn.00414100], vtable.Unicast.0
test eax, eax
je 0x403e2c
push eax
call esi
mov eax, dword [ebp - 0x1890]
mov dword [ebp - 0x1218], 0
mov dword [ebp - fcn.00414100], vtable.Unicast.0
test eax, eax
je 0x403e4d
push eax
call esi
xor al, al
jmp 0x404932
cmp byte [edi + 0x15ff], 0
je 0x403ed5
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452934
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x452958
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x403f5a
lea esi, [edi + 0x10d]
call fcn.00421968
add esp, 4
mov edi, eax
mov dword [ebp - 0x18ac], edi
push 0x452970
push 0x100
push edi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x100]
test esi, esi
mov ecx, 0x4522a0
cmovne ecx, esi
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [edi + 0x300], 0
push 0
push edi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [ebp - 0x18c0]
lea eax, [ebp - 0x38]
push eax
push 0x1388
lea ecx, [edi + 0x830]
call fcn.004142e0
mov dword [ebp - 0x18c4], eax
test eax, eax
jle 0x40405f
cmp byte [ebp - 0x38], 0
je 0x40405f
lea eax, [ebp - 0x38]
mov byte [edi + 0x1698], 1
push eax
lea eax, [edi + 0xfd]
mov word [edi + 0x1601], 0
push 0x10
push eax
mov byte [edi + 0x1603], 0
mov byte [edi + 0x15ff], 1
call fcn.0042a8b3
add esp, 0xc
push 0x452994
push 0x100
push 0x461738
call fcn.004013f0
add esp, 0xc
lea esi, [edi + 0x10d]
push 0x304
call fcn.00421968
add esp, 4
mov edi, eax
mov dword [ebp - 0x18ac], edi
push 0x461738
push 0x100
push edi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x100]
test esi, esi
mov ecx, 0x4522a0
cmovne ecx, esi
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [edi + 0x300], 0
push 0
push edi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, dword [ebp - 0x18c0]
jmp 0x404183
cmp byte [edi + 0x1601], 0
jne 0x404183
cmp dword [edi + 0x860], 0x274c
mov byte [edi + 0x15fd], 1
jne 0x404096
push 0x304
call fcn.00421968
add esp, 4
push 0x4529c0
jmp 0x404111
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 0
push 0
mov esi, eax
lea eax, [ebp - 0x18b0]
push eax
push 0x400
push esi
push 0
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push dword [ebp - 0x18b0]
push esi
push str.__d___s
push 0x400
push 0x465c28
call fcn.004013f0
add esp, 0x14
push dword [ebp - 0x18b0]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x465c28
push 0x452a40
push 0x100
push 0x461738
call fcn.004013f0
push 0x304
call fcn.00421968
add esp, 0x14
push 0x461738
mov esi, eax
push 0x100
push esi
mov dword [ebp - 0x18ac], esi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x10d]
test eax, eax
mov ecx, 0x4522a0
cmovne ecx, eax
lea eax, [esi + 0x100]
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [edi + 0x1698], 0
je 0x404611
mov eax, 1
lea ecx, [edi + 0x10d]
mov dword [ebp - 0x18b8], eax
push eax
push ecx
push 0x452aac
push 0x100
push 0x461738
call fcn.004013f0
add esp, 0x14
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452a70
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x461738
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.00418070
push ecx
lea eax, [edi + 0xfd]
movsd qword [ebp - 0x18f0], xmm0
push eax
lea ecx, [edi + 0xeb0]
call fcn.00413930
push ecx
lea ecx, [edi + 0xeb0]
call fcn.004139e0
test eax, eax
jne 0x404312
push dword [ebp - 0x18b8]
lea eax, [edi + 0x10d]
push eax
push 0x452ac8
push 0x100
push 0x461738
call fcn.004013f0
add esp, 0x14
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452a70
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x461738
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
push 0xbb8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x404555
cmp eax, 0xffffffff
je 0x404950
push str.4.11
push str.HELLO_V_s
lea eax, [ebp - 0xb8]
push 0x80
push eax
call fcn.004013f0
lea eax, [ebp - 0xb8]
push eax
lea eax, [edi + 0x10d]
push eax
push 0x452b60
push 0x100
push 0x461738
call fcn.004013f0
add esp, 0x24
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452b0c
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x461738
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.00418070
mov eax, dword [edi + 0xeb0]
lea ecx, [edi + 0xeb0]
lea edx, [ebp - 0xb8]
movsd qword [ebp - 0x1940], xmm0
push edx
call dword [eax]
lea eax, [ebp - 0xb8]
push eax
lea eax, [edi + 0x10d]
push eax
push 0x452b7c
push 0x100
push 0x461738
call fcn.004013f0
add esp, 0x14
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452b0c
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x461738
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
push 0
push esi
push 0x402
push dword [0x461838]
mov dword [esi + 0x300], 0
call dword [sym.imp.USER32.dll_SendMessageA]
push 4
lea eax, [ebp - 0x18c8]
mov dword [ebp - 0x18c8], 0x1388
push eax
push 0x1006
push 0xffff
push dword [edi + 0xeb8]
call dword [sym.imp.WS2_32.dll_setsockopt]
mov esi, eax
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov dword [edi + 0xee0], eax
cmp esi, 0xffffffff
je 0x404518
push 0
push 0x5dc
lea eax, [ebp - 0xb98]
push eax
push dword [edi + 0xeb8]
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
jne 0x4044f5
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x404518
push dword [edi + 0xed0]
mov byte [ebp + eax - 0xb98], 0
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea eax, [ebp - 0x24]
push 0x10
push eax
call fcn.0042a8b3
add esp, 0xc
call fcn.00418070
movaps xmm1, xmm0
movsd qword [ebp - 0x18f8], xmm0
subsd xmm1, qword [ebp - 0x18f0]
comisd xmm1, xmmword [0x453d78]
jb 0x404571
mov eax, dword [edi + 0xeb8]
test eax, eax
je 0x40454b
push eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [edi + 0xeb8], 0
mov eax, dword [ebp - 0x18b8]
lea ecx, [edi + 0x10d]
inc eax
mov dword [ebp - 0x18b8], eax
cmp eax, 3
jle 0x4041a1
cmp dword [ebp - 0x18c4], 0
jle 0x404611
push 2
lea eax, [ebp - 0xb98]
mov byte [edi + 0x15f6], 0
push 0x452ba4
push eax
call fcn.0042a910
add esp, 0xc
test eax, eax
je 0x4046b8
push 2
lea eax, [ebp - 0xb98]
push 0x452c28
push eax
call fcn.0042a910
add esp, 0xc
test eax, eax
jne 0x404611
push 0x80
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xb96]
push 0x452c2c
push eax
call fcn.00401460
add esp, 0x10
lea eax, [ebp - 0xb8]
mov ecx, str.VERMISS
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x404608
test dl, dl
je 0x404604
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x404608
add eax, 2
add ecx, 2
test dl, dl
jne 0x4045e8
xor eax, eax
jmp 0x40460d
sbb eax, eax
or eax, 1
test eax, eax
je 0x40462f
inc dword [ebp - 0x18b4]
cmp byte [edi + 0x15f4], 0
je 0x404930
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
jmp 0x4032d0
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452c38
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x4522a0
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi + 0x1dd4], 5
xor al, al
jmp 0x404932
lea eax, [ebp - 0x18e4]
push eax
lea eax, [ebp - 0x18e0]
push eax
lea eax, [ebp - 0xba0]
push eax
lea eax, [ebp - 0x18dc]
push eax
lea eax, [ebp - 0x18d4]
push eax
lea eax, [ebp - 0x18d8]
push eax
lea eax, [ebp - 0x18d0]
push eax
lea eax, [ebp - 0x18c0]
push eax
lea eax, [ebp - 0x18b8]
push eax
lea eax, [ebp - 0x18cc]
push eax
lea eax, [ebp - 0x18b4]
push eax
lea eax, [ebp - 0x18c4]
push eax
lea eax, [ebp - 0x18c8]
push eax
lea eax, [ebp - 0x18a0]
push eax
lea eax, [ebp - 0xb96]
push str._lf_d_d_d_d_d_d_d_d_d_d_lf_d_d
push eax
call fcn.00401460
movsd xmm2, qword [ebp - 0x1940]
lea eax, [edi + 0x10d]
movsd xmm1, qword [ebp - 0x18f8]
movaps xmm0, xmm2
subsd xmm0, qword [ebp - 0x18f0]
subsd xmm1, xmm2
push eax
push 0x452c0c
push 0x100
movsd qword [edi + 0x1530], xmm0
movsd xmm0, qword [ebp - 0x18a0]
mulsd xmm1, qword [0x453d28]
subsd xmm0, xmm2
push 0x461738
subsd xmm0, xmm1
movsd qword [edi + 0x1538], xmm1
movsd qword [edi + 0x1540], xmm0
call fcn.004013f0
add esp, 0x50
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18ac], esi
push 0x452bc8
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x461738
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x18c8]
mov dword [edi + 0x90], eax
movsd xmm1, qword [edi + 0xa8]
mov esi, dword [ebp - 0x18c4]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cdq
and edx, 7
mov dword [edi + 0x94], esi
push 0
push 0
push 0x405
push dword [0x461838]
mulsd xmm0, xmm1
mov byte [edi + 0x15fb], 1
cvttsd2si ecx, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov dword [edi + 0xa0], ecx
mulsd xmm0, xmm1
cvttsd2si ecx, xmm0
movsd xmm0, qword [ebp - 0xba0]
mov dword [edi + 0xa4], ecx
lea ecx, [edx + eax]
mov eax, esi
mulsd xmm0, qword [0x453d18]
cdq
and edx, 7
sar ecx, 3
add eax, edx
sar eax, 3
imul ecx, eax
cmp dword [ebp - 0x18b4], 1
movsd qword [edi + 0x1758], xmm0
setne al
cmp dword [ebp - 0x18c0], 1
mov byte [edi + 0x160c], al
mov byte [edi + 0x160b], al
mov eax, dword [ebp - 0x18b8]
mov dword [edi + 0x1610], eax
sete al
cmp dword [ebp - 0x18d0], 1
mov byte [edi + 0x15fa], al
sete al
mov dword [edi + 0xd8], ecx
mov byte [edi + 0x16a0], al
mov eax, dword [ebp - 0x18d4]
mov dword [edi + 0x1748], eax
mov eax, dword [ebp - 0x18d8]
mov dword [edi + 0x174c], eax
mov eax, dword [ebp - 0x18dc]
mov dword [edi + 0x1750], eax
imul eax, dword [ebp - 0x18e0], 0x3e8
mov dword [edi + 0x176c], eax
mov eax, dword [ebp - 0x18e4]
mov dword [edi + 0x1770], eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0042195a
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push 0
push 0
mov esi, eax
lea eax, [ebp - 0x18b0]
push eax
push 0x400
push esi
push 0
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push dword [ebp - 0x18b0]
push esi
push str.__d___s
push 0x400
push 0x465c28
call fcn.004013f0
add esp, 0x14
push dword [ebp - 0x18b0]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x465c28
push dword [ebp - 0x18b8]
lea eax, [edi + 0x10d]
push eax
push 0x452aec
push 0x100
push 0x461738
call fcn.004013f0
push 0x304
call fcn.00421968
add esp, 0x1c
mov esi, eax
mov dword [ebp - 0x18cc], esi
push 0x452a70
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x461738
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi + 0x1dd4], 4
xor al, al
jmp 0x404932
call esi
push 0
push 0
mov esi, eax
lea eax, [ebp - 0x18b0]
push eax
push 0x400
push esi
push 0
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push dword [ebp - 0x18b0]
push esi
push str.__d___s
push 0x400
push 0x465c28
call fcn.004013f0
add esp, 0x14
push dword [ebp - 0x18b0]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x465c28
push 0x4528c4
push 0x100
push 0x461738
call fcn.004013f0
push 0x304
call fcn.00421968
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x18cc], esi
push 0x461738
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea eax, [edi + 0x10d]
test eax, eax
mov ecx, 0x4522a0
cmovne ecx, eax
lea eax, [esi + 0x100]
push ecx
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
mov dword [edi + 0x1dd4], 3
xor al, al
mov byte [edi + 0x15fc], 1
jmp 0x404932
call esi
push 0
push 0
mov esi, eax
lea eax, [ebp - 0x18b0]
push eax
push 0x400
push esi
push 0
push 0x1300
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push dword [ebp - 0x18b0]
push esi
push str.__d___s
push 0x400
push 0x465c28
call fcn.004013f0
add esp, 0x14
push dword [ebp - 0x18b0]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x304
call fcn.00421968
add esp, 4
mov esi, eax
mov dword [ebp - 0x18cc], esi
push 0x45282c
push 0x100
push esi
call fcn.0042a8b3
add esp, 0xc
lea ecx, [esi + 0x100]
push 0x465c28
push 0x100
push ecx
call fcn.0042a8b3
add esp, 0xc
lea eax, [esi + 0x200]
push 0x4522a0
push 0x100
push eax
call fcn.0042a8b3
add esp, 0xc
mov dword [esi + 0x300], 0
push 0
push esi
push 0x402
push dword [0x461838]
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.00401640
test eax, eax
jne 0x404ca5
push str.ProgramFiles_x86_
lea eax, [ebp - 0x18cc]
push eax
lea eax, [ebp - 0x18b0]
push eax
call fcn.0043408e
add esp, 0xc
test eax, eax
jne 0x404ca5
mov eax, dword [ebp - 0x18b0]
test eax, eax
je 0x404ca5
push eax
lea eax, [ebp - 0x2c0]
push 0x104
push eax
call fcn.0042a8b3
add esp, 0xc
lea eax, [ebp - 0x2c0]
push str.F_SecureFSGUI_fsavaui.exe
push 0x104
push eax
call fcn.0042b5d6
add esp, 0xc
push 1
push dword [ebp - 0x18b0]
call fcn.00421cfe
add esp, 8
lea eax, [ebp - 0x2c0]
push 5
push 0
push 0x4522a0
push eax
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov dword [edi + 0x1dd4], 2
xor al, al
jmp 0x404932