Function at 0x409247
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf0
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
push 0x20
call fcn.00420255
add esp, 4
mov dword [ebp - 0x24], eax
mov ebx, eax
mov edi, eax
xor eax, eax
mov ecx, 8
rep stosd dword es:[edi], eax
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
mov dword [ebp - 0x50], 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
push 8
call fcn.00420255
add esp, 4
mov dword [ebp - 0x68], eax
mov edi, eax
mov esi, 0x4a91ec
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
push 8
call fcn.00420255
add esp, 4
mov dword [ebp - 0x6c], eax
mov edi, eax
mov esi, 0x4a91ec
lodsd eax, dword [esi]
stosd dword es:[edi], eax
lodsd eax, dword [esi]
stosd dword es:[edi], eax
mov dword [ebp - 0x70], 0
jmp 0x409364
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
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 [0xdc1190]
push 1
mov eax, 1
mov ebx, 0x481990
call fcn.00420279
add esp, 0x10
call fcn.0040b46f
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x18]
mov dword [0xdc11a8], eax
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x409538
push eax
mov ebx, eax
call fcn.00401206
inc eax
push eax
call fcn.00420255
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x409549
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x74], esp
mov eax, dword [ebp - 0x24]
push eax
push 0x10
call fcn.00420255
add esp, 4
mov edi, eax
pop ebx
push eax
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], eax
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, dword [ebx]
add ebx, 4
mov word [edi], ax
add edi, 2
mov eax, 0x1a
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x4095e9
push 0xaa8
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
push eax
mov ebx, dword [ebp - 0x78]
push ebx
mov edi, dword [ebp - 0x7c]
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
mov ax, word [ebx]
add ebx, 2
mov dword [edi], eax
add edi, 4
call fcn.0042025b
add esp, 4
pop eax
call fcn.0040b46f
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x24]
mov dword [ebp - 0x7c], ebx
mov ebx, dword [ebp - 0x7c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x84], eax
fild dword [ebp - 0x84]
fstp qword [ebp - 0x84]
fld qword [ebp - 0x84]
fmul qword [0x4a921e]
fstp qword [ebp - 0x8c]
push 0x80000601
push dword [ebp - 0x88]
push dword [ebp - 0x8c]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x24]
add ebx, 4
mov dword [ebp - 0x94], ebx
mov ebx, dword [ebp - 0x94]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x9c], eax
fild dword [ebp - 0x9c]
fstp qword [ebp - 0x9c]
fld qword [ebp - 0x9c]
fmul qword [0x4a921e]
fstp qword [ebp - 0xa4]
push 0x80000601
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xa8], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0xc
mov dword [ebp - 0xac], ebx
mov ebx, dword [ebp - 0xac]
mov ax, word [ebx]
cwde
mov dword [ebp - 0xb4], eax
fild dword [ebp - 0xb4]
fstp qword [ebp - 0xb4]
fld qword [ebp - 0xb4]
fmul qword [0x4a921e]
fstp qword [ebp - 0xbc]
push 0x80000601
push dword [ebp - 0xb8]
push dword [ebp - 0xbc]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xc0], eax
push dword [ebp - 0xc0]
push dword [ebp - 0xa8]
push dword [ebp - 0x90]
push dword [ebp - 0x78]
mov ecx, 4
call fcn.0040192f
add esp, 0x10
mov dword [ebp - 0xc4], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x4097cc
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x4097df
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xa8]
test ebx, ebx
je 0x4097f2
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xc0]
test ebx, ebx
je 0x409805
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0xc4]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40981c
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x10
mov dword [ebp - 0x74], ebx
mov ebx, dword [ebp - 0x74]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x7c], eax
fild dword [ebp - 0x7c]
fstp qword [ebp - 0x7c]
fld qword [ebp - 0x7c]
fmul qword [0x4a921e]
fstp qword [ebp - 0x84]
push 0x80000601
push dword [ebp - 0x80]
push dword [ebp - 0x84]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x14
mov dword [ebp - 0x8c], ebx
mov ebx, dword [ebp - 0x8c]
mov ax, word [ebx]
cwde
mov dword [ebp - 0x94], eax
fild dword [ebp - 0x94]
fstp qword [ebp - 0x94]
fld qword [ebp - 0x94]
fadd qword [0x4a936f]
fstp qword [ebp - 0x9c]
push 0x80000601
push dword [ebp - 0x98]
push dword [ebp - 0x9c]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xa0], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x18
mov dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa4]
mov ax, word [ebx]
cwde
mov dword [ebp - 0xac], eax
fild dword [ebp - 0xac]
fstp qword [ebp - 0xac]
fld qword [ebp - 0xac]
fmul qword [0x4a921e]
fstp qword [ebp - 0xb4]
push 0x80000601
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xb8], eax
mov ebx, dword [ebp - 0x24]
add ebx, 0x1c
mov dword [ebp - 0xbc], ebx
mov ebx, dword [ebp - 0xbc]
mov ax, word [ebx]
cwde
mov dword [ebp - 0xc4], eax
fild dword [ebp - 0xc4]
fstp qword [ebp - 0xc4]
fld qword [ebp - 0xc4]
fmul qword [0xd76293]
fstp qword [ebp - 0xcc]
push 0x80000601
push dword [ebp - 0xc8]
push dword [ebp - 0xcc]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xd0], eax
mov ebx, dword [ebp - 0x24]
add ebx, 8
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xd4]
mov ax, word [ebx]
cwde
mov dword [ebp - 0xdc], eax
fild dword [ebp - 0xdc]
fstp qword [ebp - 0xdc]
fld qword [ebp - 0xdc]
fmul qword [0x4a921e]
fstp qword [ebp - 0xe4]
push 0x80000601
push dword [ebp - 0xe0]
push dword [ebp - 0xe4]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xe8], eax
call fcn.0040b5e5
mov dword [ebp - 0xec], eax
push dword [ebp - 0xec]
push dword [ebp - 0xe8]
push dword [ebp - 0xd0]
push dword [ebp - 0xb8]
push dword [ebp - 0xa0]
push dword [ebp - 0x88]
push dword [ebp - 0x28]
mov ecx, 7
call fcn.0040192f
add esp, 0x1c
mov dword [ebp - 0xf0], eax
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x409a52
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xa0]
test ebx, ebx
je 0x409a65
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xb8]
test ebx, ebx
je 0x409a78
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xd0]
test ebx, ebx
je 0x409a8b
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xe8]
test ebx, ebx
je 0x409a9e
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xec]
test ebx, ebx
je 0x409ab1
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0xf0]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x409ac8
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
push getpeername
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x409adf
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x74]
push eax
call fcn.00406b1d
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x409b11
push ebx
call fcn.0042025b
add esp, 4
push 0x80000301
push 0
push dword [ebp - 0x2c]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x7c], eax
push dword [ebp - 0x7c]
push dword [ebp - 0x78]
mov ecx, 2
call fcn.0040192f
add esp, 8
mov dword [ebp - 0x80], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x409b56
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x409b66
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x80]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x409b7a
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
cmp dword [ebp + 0x18], 0
jne 0x409bdb
push getpeername
push 0
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x409b9b
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x4208a0
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x409bdb
call fcn.00401c01
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x409bd7
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x409bfd
push eax
mov ebx, eax
call fcn.00401206
inc eax
push eax
call fcn.00420255
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x409c0e
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
mov eax, 0x4a91f4
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x409c28
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
call fcn.00401c01
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x74]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x409c48
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x44], eax
call fcn.0040b9a3
mov dword [0xdc11ac], eax
call fcn.0040ba69
mov dword [ebp - 0x74], eax
push getpeername
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x409c7d
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x409ca3
push ebx
call fcn.0042025b
add esp, 4
mov dword [ebp - 0x7c], 0
push 0
push dword [ebp - 0x7c]
push 1
mov eax, 0xd7629b
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040d02e
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x409cdc
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x409cec
push ebx
call fcn.0042025b
add esp, 4
push 1
mov eax, 0xd7629b
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.0040d2ed
mov dword [ebp - 0x8c], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x409d25
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x409d38
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0x8c]
push eax
call fcn.0040b68c
mov dword [ebp - 0x90], eax
mov ebx, dword [ebp - 0x8c]
test ebx, ebx
je 0x409d5d
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x90]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x409d74
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
call fcn.0040e59f
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
push getpeername
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x409dad
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x7c], eax
push 0x80000301
push 0
push dword [ebp - 0x40]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x80], eax
push 0x80000301
push 0
push dword [ebp - 0x44]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x84], eax
push 0x80000301
push 0
push dword [ebp - 0x30]
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x8c], 0
push 0
push dword [ebp - 0x8c]
mov dword [ebp - 0x90], 0
push 0
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0040d02e
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp - 0x88]
test ebx, ebx
je 0x409e70
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x409e83
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0x94]
push eax
call fcn.0040b68c
mov dword [ebp - 0x98], eax
mov ebx, dword [ebp - 0x94]
test ebx, ebx
je 0x409ea8
push ebx
call fcn.0042025b
add esp, 4
call fcn.0040e604
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xa0], eax
push 0x80000301
push 0
push dword [0xdc11ac]
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xa4], eax
push dword [ebp - 0xa4]
push dword [ebp - 0x38]
push dword [ebp - 0xa0]
push 0xd762ac
push dword [ebp - 0x48]
push dword [ebp - 0x38]
push dword [ebp - 0x98]
push dword [ebp - 0x38]
push dword [ebp - 0x84]
push dword [ebp - 0x38]
push dword [ebp - 0x80]
push dword [ebp - 0x38]
push dword [ebp - 0x7c]
push dword [ebp - 0x38]
push dword [ebp - 0x78]
push dword [ebp - 0x38]
push dword [0xdc118c]
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push 0xd762ae
mov ecx, 0x16
call fcn.0040192f
add esp, 0x58
mov dword [ebp - 0xa8], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x409f6a
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x409f7a
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x409f8a
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x409f9d
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x98]
test ebx, ebx
je 0x409fb0
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xa0]
test ebx, ebx
je 0x409fc3
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0xa4]
test ebx, ebx
je 0x409fd6
push ebx
call fcn.0042025b
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0xa8]
test eax, eax
jne 0x409fec
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0xac], eax
mov ebx, dword [ebp - 0xa8]
test ebx, ebx
je 0x40a018
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0xac]
push eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40a02f
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp + 0x18], 1
jne 0x40a0e4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x40a050
mov eax, 0x4a91ec
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x74], eax
push dword [ebp - 0x74]
push 0xd762b6
mov ecx, 2
call fcn.0040192f
add esp, 8
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40a08e
push ebx
call fcn.0042025b
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x40a0a1
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40a0c7
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x7c]
push eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40a0db
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x4c], eax
jmp 0x40a186
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x40a0f7
mov eax, 0x4a91ec
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x74], eax
push dword [ebp - 0x74]
push 0xd762bf
mov ecx, 2
call fcn.0040192f
add esp, 8
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40a135
push ebx
call fcn.0042025b
add esp, 4
push getpeername
push 0
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x40a148
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40a16e
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x7c]
push eax
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40a182
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], 0x2faf080
mov dword [ebp - 0x54], 0x989680
cmp dword [ebp - 0x1c], 0
je 0x40a1e5
call fcn.0040b46f
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fild dword [ebp - 0x1c]
fstp qword [ebp - 0x88]
fsub qword [ebp - 0x88]
fstp qword [ebp - 0x90]
fld qword [ebp - 0x90]
fsub qword [0xd762c4]
fcomp qword [0xd762cc]
fnstsw ax
test ah, 1
jne 0x40a1e5
xor eax, eax
jmp 0x40a1ea
mov eax, 1
test eax, eax
je 0x40a23b
mov dword [ebp - 0x74], 0
push 0
push dword [ebp - 0x74]
mov dword [ebp - 0x78], 0
push 0
push dword [ebp - 0x78]
lea eax, [ebp - 0x4c]
push eax
call fcn.00406f58
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x7c]
push eax
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x40a22a
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x58], eax
call fcn.0040b46f
mov dword [ebp - 0x1c], eax
jmp 0x40a240
call fcn.0040e73e
push getpeername
push 0
mov eax, dword [ebp - 0x28]
test eax, eax
jne 0x40a253
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040da85
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40a285
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x40a299
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x5c], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x40a2b0
mov eax, 0x4a91ec
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040ed7c
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40a2e6
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x40a2fa
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x58], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x40a311
mov eax, 0x4a91ec
push eax
push 1
mov ebx, 0x4208c0
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x40a354
mov eax, 0xd762d4
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40a349
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x40b2cc
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x40a36e
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00420255
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x40a37f
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x60], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40a396
mov eax, 0x4a91ec
push eax
push 1
mov ebx, 0x4208c0
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x40a44c
mov eax, 0xd762ef
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40a3cc
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40a401
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40a447
push 0x177c
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
jmp 0x40b2cc
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40a45f
mov eax, 0x4a91ec
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x74], eax
push 0
push 0
push 0
push getpeername
push 0
push 0x4a91f4
push getpeername
push 0
mov eax, dword [ebp - 0x74]
test eax, eax
jne 0x40a49a
mov eax, 0x4a91d1
push eax
push 3
mov ebx, 0x421690
call fcn.00420261
add esp, 0x28
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40a4c0
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [ebp - 0x68]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a4e2
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a4de
imul eax, dword [ebx]
jmp 0x40a4d3
mov ecx, eax
test ecx, ecx
je 0x40a501
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40a4fa
push ebx
push eax
call fcn.0042025b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a4e8
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x68], eax
mov ebx, dword [ebp - 0x68]
call fcn.0040472e
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0x10
jne 0x40b0f1
call fcn.00401c01
mov dword [ebp - 0x74], eax
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 0xd
cmp eax, ecx
jl 0x40a552
push 0x1883
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x78], ebx
push dword [ebp - 0x78]
lea eax, [ebp - 0x74]
push eax
call fcn.0041085b
mov dword [ebp - 0x7c], eax
mov ebx, dword [ebp - 0x74]
test ebx, ebx
je 0x40a579
push ebx
call fcn.0042025b
add esp, 4
cmp dword [ebp - 0x7c], 0
jne 0x40a619
mov eax, 0xd7630c
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40a599
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40a5ce
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40a614
push 0x190a
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
jmp 0x40ae8a
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 6
cmp eax, ecx
jl 0x40a641
push 0x195c
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
push 0
push 0
push 0
push getpeername
push 0
push 0xd76318
push getpeername
push 0
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebx]
test eax, eax
jne 0x40a670
mov eax, 0x4a91d1
push eax
push 3
mov ebx, 0x421690
call fcn.00420261
add esp, 0x28
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [ebp - 0x6c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40a6a8
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40a6a4
imul eax, dword [ebx]
jmp 0x40a699
mov ecx, eax
test ecx, ecx
je 0x40a6c7
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40a6c0
push ebx
push eax
call fcn.0042025b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40a6ae
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x6c]
call fcn.0040472e
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 4
je 0x40a77e
mov eax, 0xd7631a
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40a6fe
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40a733
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40a779
push 0x1a2f
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
jmp 0x40a95b
mov ebx, dword [ebp - 0x6c]
call fcn.0040470e
mov eax, 0
cmp eax, ecx
jl 0x40a7a6
push 0x1a79
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
call fcn.0040e59f
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fadd qword [0xd76326]
fstp qword [ebp - 0x88]
push 0x80000601
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push 1
mov ebx, 0x421160
call fcn.00420261
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x94], 0
push 0
push dword [ebp - 0x94]
mov dword [ebp - 0x98], 0
push 0
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.0040d02e
mov dword [ebp - 0x9c], eax
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x40a858
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x98]
test ebx, ebx
je 0x40a86b
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0x9c]
push eax
call fcn.0040b68c
mov dword [ebp - 0xa0], eax
mov ebx, dword [ebp - 0x9c]
test ebx, ebx
je 0x40a890
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0x74]
call fcn.0041085b
mov dword [ebp - 0xa4], eax
mov ebx, dword [ebp - 0xa0]
test ebx, ebx
je 0x40a8b8
push ebx
call fcn.0042025b
add esp, 4
cmp dword [ebp - 0xa4], 0
jne 0x40a95b
mov eax, 0xd7632e
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40a8db
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40a910
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40a956
push 0x1b7c
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
jmp 0x40a95b
mov ebx, dword [ebp - 0x6c]
call fcn.0040470e
mov eax, 1
cmp eax, ecx
jl 0x40a983
push 0x1bf0
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
call fcn.0040e59f
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fadd qword [0xd7633a]
fstp qword [ebp - 0x88]
push 0x80000601
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push 1
mov ebx, 0x421160
call fcn.00420261
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x90], eax
push getpeername
push 0
mov eax, dword [ebp - 0x90]
test eax, eax
jne 0x40aa01
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x40aa2d
push ebx
call fcn.0042025b
add esp, 4
mov dword [ebp - 0x98], 0
push 0
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.0040d2ed
mov dword [ebp - 0x9c], eax
mov ebx, dword [ebp - 0x94]
test ebx, ebx
je 0x40aa65
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x98]
test ebx, ebx
je 0x40aa78
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0x9c]
push eax
call fcn.0040b68c
mov dword [ebp - 0xa0], eax
mov ebx, dword [ebp - 0x9c]
test ebx, ebx
je 0x40aa9d
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0xa0]
push eax
push dword [ebp - 0x74]
call fcn.0041085b
mov dword [ebp - 0xa4], eax
mov ebx, dword [ebp - 0xa0]
test ebx, ebx
je 0x40aac5
push ebx
call fcn.0042025b
add esp, 4
cmp dword [ebp - 0xa4], 0
jne 0x40ab63
mov eax, 0xd76342
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40aae8
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40ab1d
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40ab63
push 0x1d05
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
mov ebx, dword [ebp - 0x6c]
call fcn.0040470e
mov eax, 2
cmp eax, ecx
jl 0x40ab8b
push 0x1d50
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
call fcn.0040e59f
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fadd qword [0xd7634e]
fstp qword [ebp - 0x88]
push 0x80000601
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push 1
mov ebx, 0x421160
call fcn.00420261
add esp, 0x10
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x90]
push eax
call fcn.0040da85
mov dword [ebp - 0x94], eax
mov ebx, dword [ebp - 0x90]
test ebx, ebx
je 0x40ac18
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x74]
call fcn.0041085b
mov dword [ebp - 0x98], eax
mov ebx, dword [ebp - 0x94]
test ebx, ebx
je 0x40ac40
push ebx
call fcn.0042025b
add esp, 4
cmp dword [ebp - 0x98], 0
jne 0x40acde
mov eax, 0xd76356
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40ac63
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40ac98
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40acde
push 0x1e3e
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
mov ebx, dword [ebp - 0x6c]
call fcn.0040470e
mov eax, 3
cmp eax, ecx
jl 0x40ad06
push 0x1e89
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
call fcn.0040e59f
mov dword [ebp - 0x80], eax
fild dword [ebp - 0x80]
fstp qword [ebp - 0x80]
fld qword [ebp - 0x80]
fadd qword [0xd76362]
fstp qword [ebp - 0x88]
push 0x80000601
push dword [ebp - 0x84]
push dword [ebp - 0x88]
push 1
mov ebx, 0x421160
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x8c], eax
push 0x80000301
push 0
push 0x12d687
push 0x80000301
push 0
push dword [ebp - 0x8c]
push 2
mov ebx, 0x4206d0
call fcn.00420261
add esp, 0x1c
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x94]
push eax
call fcn.00406b1d
mov dword [ebp - 0x98], eax
mov ebx, dword [ebp - 0x94]
test ebx, ebx
je 0x40adc4
push ebx
call fcn.0042025b
add esp, 4
lea eax, [ebp - 0x98]
push eax
push dword [ebp - 0x74]
call fcn.0041085b
mov dword [ebp - 0x9c], eax
mov ebx, dword [ebp - 0x98]
test ebx, ebx
je 0x40adec
push ebx
call fcn.0042025b
add esp, 4
cmp dword [ebp - 0x9c], 0
jne 0x40ae8a
mov eax, 0xd7636a
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40ae0f
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40ae44
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40ae8a
push 0x1f93
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 0xe
cmp eax, ecx
jl 0x40aeb2
push 0x1fe8
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebx]
test eax, eax
jne 0x40aecf
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421160
call fcn.00420261
add esp, 0x10
mov dword [0xdc11b0], eax
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 1
cmp eax, ecx
jl 0x40af0f
push 0x2022
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebx]
test eax, eax
jne 0x40af2c
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x78]
push eax
mov ebx, dword [0xdc11b4]
test ebx, ebx
je 0x40af59
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [0xdc11b4], eax
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 0xf
cmp eax, ecx
jl 0x40af87
push 0x206e
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebx]
test eax, eax
jne 0x40afa4
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x78], eax
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 1
cmp eax, ecx
jl 0x40afe2
push 0x208e
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x7c], ebx
push getpeername
push 0
mov ebx, dword [ebp - 0x7c]
mov eax, dword [ebx]
test eax, eax
jne 0x40afff
mov eax, 0x4a91d1
push eax
push 1
mov ebx, 0x421820
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x80], eax
push 1
push 1
push 1
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x78]
push eax
call fcn.0040d02e
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x78]
test ebx, ebx
je 0x40b041
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x40b051
push ebx
call fcn.0042025b
add esp, 4
mov eax, dword [ebp - 0x84]
push eax
mov ebx, dword [0xdc11b8]
test ebx, ebx
je 0x40b06b
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [0xdc11b8], eax
push eax
mov eax, 1
mov dword fs:[0x190], eax
pop eax
mov dword [ebp - 0x70], 1
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 0
cmp eax, ecx
jl 0x40b0ad
push 0x215a
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebx]
test eax, eax
je 0x40b0d3
push eax
mov ebx, eax
call fcn.00401206
inc eax
push eax
call fcn.00420255
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40b0e6
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x40b2cc
mov ebx, dword [ebp - 0x68]
call fcn.0040472e
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 2
jne 0x40b1c2
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x40b119
mov eax, 0x4a91ec
push eax
push 1
mov ebx, 0x422130
call fcn.00420261
add esp, 0x10
mov dword [ebp - 0x80], eax
push 0x80000301
push 0
push 1
push getpeername
push 0
mov eax, dword [ebp - 0x80]
test eax, eax
jne 0x40b14e
mov eax, 0x4a91d1
push eax
push 2
mov ebx, 0x420a60
call fcn.00420261
add esp, 0x1c
mov dword [ebp - 0x84], eax
mov ebx, dword [ebp - 0x80]
test ebx, ebx
je 0x40b177
push ebx
call fcn.0042025b
add esp, 4
push 0xd76376
push dword [ebp - 0x84]
call fcn.00401004
add esp, 8
cmp eax, 0
mov eax, 0
sete al
mov dword [ebp - 0x88], eax
mov ebx, dword [ebp - 0x84]
test ebx, ebx
je 0x40b1ae
push ebx
call fcn.0042025b
add esp, 4
cmp dword [ebp - 0x88], 0
je 0x40b1c2
mov eax, 1
jmp 0x40b1c7
mov eax, 0
test eax, eax
je 0x40b23b
mov ebx, dword [ebp - 0x68]
call fcn.0040470e
mov eax, 1
cmp eax, ecx
jl 0x40b1f7
push 0x2254
push 0x406a232
push 1
call fcn.00420267
add esp, 0xc
shl eax, 2
add ebx, eax
mov dword [ebp - 0x74], ebx
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebx]
test eax, eax
je 0x40b21d
push eax
mov ebx, eax
call fcn.00401206
inc eax
push eax
call fcn.00420255
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
test ebx, ebx
je 0x40b230
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x40b2cc
mov eax, 0xd76378
push eax
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40b251
push ebx
call fcn.0042025b
add esp, 4
pop eax
mov dword [ebp - 0x64], eax
push 0
push 0
push 0
push getpeername
push 0
push 0xd762fb
push 0x80000301
push 0
push 0x10
push getpeername
push 0
mov eax, dword [ebp - 0x64]
test eax, eax
jne 0x40b286
mov eax, 0x4a91d1
push eax
push 4
mov ebx, 0x422370
call fcn.00420261
add esp, 0x34
mov dword [ebp - 0x74], esp
push 0
push 0xffffffff
mov eax, 3
call fcn.0042026d
cmp dword [ebp - 0x74], esp
je 0x40b2cc
push 0x22f0
push 0x406a232
push 6
call fcn.00420267
add esp, 0xc
push 0x80000301
push 0
push dword [0xdc1190]
push 1
mov eax, 1
mov ebx, 0x4819b0
call fcn.00420279
add esp, 0x10
mov eax, dword [ebp - 0x70]
jmp 0x40b321
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x40b332
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x40b34e
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x40b35e
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x40b36e
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x40b37e
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x40b38e
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x40b39e
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x40b3ae
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x40b3be
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x40b3ce
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x40b3de
push ebx
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x68]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b3fc
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b3f8
imul eax, dword [ebx]
jmp 0x40b3ed
mov ecx, eax
test ecx, ecx
je 0x40b41b
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b414
push ebx
push eax
call fcn.0042025b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b402
call fcn.0042025b
add esp, 4
mov ebx, dword [ebp - 0x6c]
push ebx
mov ecx, dword [ebx]
add ebx, 4
test ecx, ecx
je 0x40b441
mov eax, dword [ebx]
add ebx, 4
dec ecx
je 0x40b43d
imul eax, dword [ebx]
jmp 0x40b432
mov ecx, eax
test ecx, ecx
je 0x40b460
push ecx
mov eax, dword [ebx]
test eax, eax
je 0x40b459
push ebx
push eax
call fcn.0042025b
add esp, 4
pop ebx
add ebx, 4
pop ecx
dec ecx
jne 0x40b447
call fcn.0042025b
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0x18