Function at 0x412221
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
push 8
call fcn.004c93c0
add esp, 4
mov dword [ebp - 0x50], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
jmp 0x412303
pushal
mov eax, 1
mov eax, 2
mov eax, 4
mov eax, 2
mov eax, 5
mov eax, 4
mov eax, 2
mov eax, 5
mov eax, 6
popal
push edx
mov edx, 1
mov edx, 2
mov edx, 4
mov edx, 2
mov edx, 5
mov edx, 4
mov edx, 2
mov edx, 5
mov edx, 5
pop edx
fninit
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 4], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 8], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0xc], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x10], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x14], eax
nop
nop
push ecx
push edx
rdtsc
mov ecx, 0x17
mul ecx
add eax, 7
mov ecx, 0x1000
sub ecx, 0x10
inc ecx
xor edx, edx
div ecx
add edx, 0x1000
mov eax, edx
pop edx
pop ecx
mov dword [ebp - 0x18], eax
push 0x80000301
push 0
push dword [0x8646cc]
push 1
mov eax, 4
mov ebx, 0x538470
call fcn.004c93c6
add esp, 0x10
call fcn.004136e4
call fcn.00418328
call fcn.00418afc
push 1
call fcn.00414f5c
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.00419062
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x4124ef
push ebx
call fcn.004c93ba
add esp, 4
cmp dword [ebp - 0x6c], 1
jge 0x412657
mov dword [ebp - 0x68], esp
push 0
push 0xffffffff
mov eax, 0xe
call fcn.004c93ea
cmp dword [ebp - 0x68], esp
je 0x412535
push 0xc1f
push 0x4034ab8
push 6
call fcn.004c93d2
add esp, 0xc
call fcn.0040fffa
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x41254d
mov eax, 0x5a2e45
push eax
push 1
mov ebx, 0x4c9930
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffea4d
je 0x4125d5
push 0x5f5e100
call fcn.004190d7
mov dword [ebp - 0x68], eax
push dword [ebp - 0x68]
push dword [ebp - 0x1c]
mov ecx, 2
call fcn.00401bbc
add esp, 8
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x4125b5
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4125cc
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
jmp 0x41253a
push 1
push 2
push 0x407f4000
push 0
call fcn.00419176
xor ebp, ebp
xor esp, esp
mov dword [ebp - 0x68], esp
push 0xfffffffe
mov eax, 0x38
call fcn.004c93ea
cmp dword [ebp - 0x68], esp
je 0x412623
push 0xd62
push 0x4034ab8
push 6
call fcn.004c93d2
add esp, 0xc
mov dword [ebp - 0x68], esp
push 0
mov eax, 0x39
call fcn.004c93ea
cmp dword [ebp - 0x68], esp
je 0x412657
push 0xd7e
push 0x4034ab8
push 6
call fcn.004c93d2
add esp, 0xc
push 3
call fcn.00414f5c
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.00419062
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x41268c
push ebx
call fcn.004c93ba
add esp, 4
cmp dword [ebp - 0x6c], 1
jge 0x4127f4
mov dword [ebp - 0x68], esp
push 0
push 0xffffffff
mov eax, 0xe
call fcn.004c93ea
cmp dword [ebp - 0x68], esp
je 0x4126d2
push 0xe1c
push 0x4034ab8
push 6
call fcn.004c93d2
add esp, 0xc
call fcn.0040fffa
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x4126ea
mov eax, 0x5a2e45
push eax
push 1
mov ebx, 0x4c9930
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0x6c], 0xffffea4d
je 0x412772
push 0x5f5e100
call fcn.004190d7
mov dword [ebp - 0x68], eax
push dword [ebp - 0x68]
push dword [ebp - 0x1c]
mov ecx, 2
call fcn.00401bbc
add esp, 8
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x412752
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x412769
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
jmp 0x4126d7
push 1
push 2
push 0x407f4000
push 0
call fcn.00419176
xor ebp, ebp
xor esp, esp
mov dword [ebp - 0x68], esp
push 0xfffffffe
mov eax, 0x38
call fcn.004c93ea
cmp dword [ebp - 0x68], esp
je 0x4127c0
push 0xf5f
push 0x4034ab8
push 6
call fcn.004c93d2
add esp, 0xc
mov dword [ebp - 0x68], esp
push 0
mov eax, 0x39
call fcn.004c93ea
cmp dword [ebp - 0x68], esp
je 0x4127f4
push 0xf7b
push 0x4034ab8
push 6
call fcn.004c93d2
add esp, 0xc
push 1
call fcn.00414f5c
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
call fcn.00419062
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x412829
push ebx
call fcn.004c93ba
add esp, 4
cmp dword [ebp - 0x6c], 0
jg 0x412864
push 0x80000301
push 0
push dword [0x8646cc]
push 1
mov eax, 4
mov ebx, 0x538490
call fcn.004c93c6
add esp, 0x10
mov eax, 0x5a2e4d
jmp 0x4135ed
mov eax, 0x5b8f19
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x41287a
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
call fcn.004035d8
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x4128a0
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x24], eax
call fcn.0040fe5b
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x6c], eax
push dword [ebp - 0x24]
push dword [ebp - 0x6c]
push dword [0x8646e0]
mov ecx, 3
call fcn.0040176f
add esp, 0xc
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x4128fe
push ebx
call fcn.004c93ba
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x70]
test eax, eax
jne 0x412914
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x412940
push ebx
call fcn.004c93ba
add esp, 4
mov dword [ebp - 0x78], 0
push 0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040eba9
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x412978
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x41298b
push ebx
call fcn.004c93ba
add esp, 4
lea eax, [ebp - 0x7c]
push eax
call fcn.004084d4
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x4129b0
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x80]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x4129c7
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x20]
push eax
call fcn.0041938e
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], 0x2faf080
push 0x80000301
push 0
push 0x159ced57
push 1
mov ebx, 0x4ca340
call fcn.004c93cc
add esp, 0x10
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x412a38
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x2c], 0
jne 0x413061
push 6
call fcn.00414f5c
mov dword [ebp - 0x68], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x412a6c
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x412a98
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x412aaf
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x412ac6
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x68], eax
call fcn.0040fe5b
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x70], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x74], eax
push dword [ebp - 0x74]
push 0x5b8926
push dword [ebp - 0x70]
push 0x5b8926
push dword [ebp - 0x68]
push 0x5b8926
push dword [ebp - 0x28]
push 0x5b8926
push dword [ebp - 0x20]
push 0x5b8926
push dword [ebp - 0x3c]
push 0x5b8f24
mov ecx, 0xc
call fcn.0040176f
add esp, 0x30
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x412b85
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x412b98
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x412bab
push ebx
call fcn.004c93ba
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x412bc1
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x412bed
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x7c]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x412c04
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x412c1b
mov eax, 0x5a2e45
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x68], eax
push dword [ebp - 0x68]
push 0x5b8f2a
mov ecx, 2
call fcn.0040176f
add esp, 8
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x412c65
push ebx
call fcn.004c93ba
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x6c]
test eax, eax
jne 0x412c7b
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x412ca7
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x70]
push eax
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x412cbe
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x44], 0x989680
mov dword [ebp - 0x68], 0
push 0
push dword [ebp - 0x68]
mov dword [ebp - 0x6c], 0
push 0
push dword [ebp - 0x6c]
lea eax, [ebp - 0x40]
push eax
call fcn.004088b8
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x412d13
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov eax, 0x5a2e45
xor ecx, ecx
test eax, eax
je 0x412d25
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0x48]
xor ebx, ebx
test eax, eax
je 0x412d36
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x412d4d
dec eax
test ecx, ecx
je 0x412d4d
call fcn.00405232
add esp, 0xc
test eax, eax
je 0x41305c
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x412d72
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004c93c0
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x412d83
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x4c], eax
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x412dac
push eax
mov ebx, eax
call fcn.004014f9
inc eax
push eax
call fcn.004c93c0
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x412dc2
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x50]
add ebx, 4
mov dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x412df1
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004c93c0
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x68]
mov ebx, dword [ebx]
test ebx, ebx
je 0x412e07
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov ebx, dword [ebp - 0x68]
mov dword [ebx], eax
push 0x8646ec
push 4
mov eax, 2
call fcn.004c93b4
add esp, 8
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x68], eax
mov ebx, dword [0x8646ec]
mov dword [ebp - 0x6c], ebx
call fcn.00401b9c
mov dword [ebp - 0x70], ecx
mov edi, dword [ebp - 0x6c]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x412e63
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x70]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x6c]
call fcn.004c93de
add esp, 8
mov dword [0x8646ec], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x70]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x68]
push edi
push eax
push 8
call fcn.004c93c0
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x412ec9
push eax
mov ebx, eax
call fcn.004014f9
inc eax
push eax
call fcn.004c93c0
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x412ee6
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.004c93c0
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
stosd dword es:[edi], eax
pop eax
pop edi
mov dword [edi], eax
mov dword [ebp - 0x68], 0
push 0
push dword [ebp - 0x68]
push 1
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.00416a4b
mov dword [ebp - 0x6c], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x412f27
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x70], eax
push 0x80000301
push 0
push dword [ebp - 0x34]
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x74], eax
push dword [ebp - 0x74]
push dword [ebp - 0x70]
mov ecx, 2
call fcn.00401bbc
add esp, 8
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x412f94
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x412fa7
push ebx
call fcn.004c93ba
add esp, 4
mov dword [ebp - 0x7c], 0
push 0
push dword [ebp - 0x7c]
push 1
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.00419450
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x412fe7
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x412ffa
push ebx
call fcn.004c93ba
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x413010
mov eax, 0x5a2e45
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x41303c
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x84]
push eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x413053
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x54], eax
jmp 0x41305c
jmp 0x413224
mov ebx, dword [0x8646ec]
call fcn.00401b9c
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x41308b
push 0x15ea
push 0x4034ab8
push 4
call fcn.004c93d2
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x4130a8
push 0x15ea
push 0x4034ab8
push 1
call fcn.004c93d2
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x6c], 0
push 0
push dword [ebp - 0x6c]
push 1
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x68]
call fcn.00416a4b
mov dword [ebp - 0x70], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x4130f4
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x74], eax
push 0x80000301
push 0
push dword [ebp - 0x34]
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x78], eax
push dword [ebp - 0x78]
push dword [ebp - 0x74]
mov ecx, 2
call fcn.00401bbc
add esp, 8
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x413161
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x413174
push ebx
call fcn.004c93ba
add esp, 4
mov dword [ebp - 0x80], 0
push 0
push dword [ebp - 0x80]
push 1
lea eax, [ebp - 0x7c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00419450
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x4131b4
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x4131c7
push ebx
call fcn.004c93ba
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x84]
test eax, eax
jne 0x4131dd
mov eax, 0x5a2e45
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x413209
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x88]
push eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x413220
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x54], eax
call fcn.004196c2
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x68]
push eax
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x413246
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x58], eax
push dword [ebp - 0x34]
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00419702
mov dword [ebp - 0x5c], eax
push 1
mov eax, 0x5b8926
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00419df6
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x413296
push ebx
call fcn.004c93ba
add esp, 4
lea eax, [ebp - 0x6c]
push eax
call fcn.00408666
mov dword [ebp - 0x70], eax
mov ebx, dword [ebp - 0x6c]
test ebx, ebx
je 0x4132bb
push ebx
call fcn.004c93ba
add esp, 4
push 0x80000301
push 0
push dword [ebp - 0x5c]
push 1
mov ebx, 0x4cafe0
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
push 1
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00416a4b
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x70]
test ebx, ebx
je 0x41331d
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x413330
push ebx
call fcn.004c93ba
add esp, 4
push 0
push 0
push 0
push 0x80000301
push 0
push 3
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x7c]
test eax, eax
jne 0x413358
mov eax, 0x5a2e45
push eax
push 3
mov ebx, 0x4cb210
call fcn.004c93cc
add esp, 0x28
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], ecx
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x413390
push ebx
call fcn.004c93ba
add esp, 4
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x88]
cmp ecx, 0x80000101
jne 0x4133b1
and eax, 0xff
jmp 0x413412
cmp ecx, 0x80000201
jne 0x4133bc
cwde
jmp 0x413412
cmp ecx, 0x80000301
je 0x413412
cmp ecx, 0x80000401
je 0x413412
mov dword [ebp - 0x90], eax
cmp ecx, 0x80000501
je 0x4133f9
cmp ecx, 0x80000601
je 0x413401
push 0x1750
push 0x4034ab8
push 2
call fcn.004c93d2
add esp, 0xc
fld dword [ebp - 0x90]
jmp 0x41340d
mov dword [ebp - 0x8c], edx
fld qword [ebp - 0x90]
call fcn.00401a00
mov dword [ebp - 0x60], eax
call fcn.0040fe5b
cmp dword [ebp - 0x60], eax
je 0x413451
push 0x80000301
push 0
push dword [0x8646cc]
push 1
mov eax, 4
mov ebx, 0x538490
call fcn.004c93c6
add esp, 0x10
mov eax, 0x5a2e4d
jmp 0x4135ed
push 0
mov eax, 0x5b8926
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.00419df6
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x68]
test ebx, ebx
je 0x41348a
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x6c]
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x4134a1
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0x80000301
push 0
push dword [0x8646cc]
push 1
mov eax, 4
mov ebx, 0x538490
call fcn.004c93c6
add esp, 0x10
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x4134dc
mov eax, 0x5a2e4d
push eax
push 1
mov ebx, 0x4c9910
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x70], eax
fild dword [ebp - 0x70]
fstp qword [ebp - 0x70]
fld qword [ebp - 0x70]
fsub qword [0x5b8f09]
fstp qword [ebp - 0x78]
fld qword [ebp - 0x78]
call fcn.00401a00
push 0x80000301
push 0
push eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x413539
mov eax, 0x5a2e4d
push eax
push 2
mov ebx, 0x4c9e20
call fcn.004c93cc
add esp, 0x1c
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7c]
push eax
call fcn.0041a071
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x413577
push ebx
call fcn.004c93ba
add esp, 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x41358d
mov eax, 0x5a2e45
push eax
push 1
mov ebx, 0x4cba90
call fcn.004c93cc
add esp, 0x10
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x4135b9
push ebx
call fcn.004c93ba
add esp, 4
mov eax, dword [ebp - 0x84]
jmp 0x4135ed
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x4135fe
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x41360e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x24]
test ebx, ebx
je 0x41361e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x41362e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x41363e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x41364e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x41365e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x41366e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x41367e
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x50]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x413692
push ebx
call fcn.004c93ba
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4136a6
push ebx
call fcn.004c93ba
add esp, 4
pop ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x4136bf
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x4136cf
push ebx
call fcn.004c93ba
add esp, 4
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x4136df
push ebx
call fcn.004c93ba
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret