Function at 0x431581
Capabilities:
Execute anti-debugging instructions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x64
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
push 8
call fcn.0050d4b7
add esp, 4
mov dword [ebp - 0x4c], eax
mov ebx, eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebp - 0x50], 0
jmp 0x431640
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
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
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
mov dword [ebp - 0x54], esp
push 0
mov eax, 1
call fcn.0050d4c9
cmp dword [ebp - 0x54], esp
je 0x4317d3
push 0xaa3
push 0x402c6c8
push 6
call fcn.0050d4c3
add esp, 0xc
push 0x80000301
push 0
push dword [0x6f5674]
push 1
mov eax, 2
mov ebx, 0x576a90
call fcn.0050d4db
add esp, 0x10
push 1
call fcn.00418c0a
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x54]
push eax
call fcn.004197c0
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x43182c
push ebx
call fcn.0050d4bd
add esp, 4
cmp dword [ebp - 0x58], 0
jg 0x431867
push 0x80000301
push 0
push dword [0x6f5674]
push 1
mov eax, 2
mov ebx, 0x576ab0
call fcn.0050d4db
add esp, 0x10
mov eax, 0x5cd1dc
jmp 0x43203c
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x431885
push eax
mov ebx, eax
call fcn.004012aa
inc eax
push eax
call fcn.0050d4b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x431896
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
call fcn.004018b4
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
push eax
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x4318bc
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
call fcn.00417856
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x58], eax
push dword [ebp - 0x20]
push dword [ebp - 0x58]
push dword [0x6f56d0]
mov ecx, 3
call fcn.004015e8
add esp, 0xc
mov dword [ebp - 0x5c], eax
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x431920
push ebx
call fcn.0050d4bd
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x431936
mov eax, 0x5cd1dc
push eax
push 1
mov ebx, 0x50f1f0
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x431962
push ebx
call fcn.0050d4bd
add esp, 4
lea eax, [ebp - 0x60]
push eax
call fcn.004067b3
mov dword [ebp - 0x64], eax
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x431987
push ebx
call fcn.0050d4bd
add esp, 4
mov eax, dword [ebp - 0x64]
push eax
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x43199e
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00432105
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x30], 0x30a60ac
push 0x80000301
push 0
push 0x159ced57
push 1
mov ebx, 0x50e4f0
call fcn.0050d4cf
add esp, 0x10
push 0x80000601
push edx
push eax
push 1
mov ebx, 0x50f1f0
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
push eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x431a09
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x2c], 0
jne 0x431eea
push 6
call fcn.00418c0a
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
push eax
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x431a3e
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x38], eax
call fcn.00417856
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x58], eax
push 0x80000301
push 0
push dword [ebp - 0x24]
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x5c], eax
push dword [0x6f566c]
push 0x5cd1f0
push dword [ebp - 0x5c]
push 0x5cd1f0
push dword [ebp - 0x58]
push 0x5cd1f0
push dword [ebp - 0x20]
push 0x5cd1f0
push dword [ebp - 0x28]
push 0x5cd1f0
push dword [ebp - 0x1c]
push 0x5cd1f0
push dword [ebp - 0x38]
push 0x6785cf
mov ecx, 0xe
call fcn.004015e8
add esp, 0x38
mov dword [ebp - 0x60], eax
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x431af0
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x5c]
test ebx, ebx
je 0x431b03
push ebx
call fcn.0050d4bd
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x431b19
mov eax, 0x5cd1dc
push eax
push 1
mov ebx, 0x50f1f0
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x64], eax
mov ebx, dword [ebp - 0x60]
test ebx, ebx
je 0x431b45
push ebx
call fcn.0050d4bd
add esp, 4
mov eax, dword [ebp - 0x64]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x431b5c
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x431b73
mov eax, 0x5cd1e8
push eax
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x54], eax
push dword [ebp - 0x54]
push 0x6785d7
mov ecx, 2
call fcn.004015e8
add esp, 8
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x431bbd
push ebx
call fcn.0050d4bd
add esp, 4
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x58]
test eax, eax
jne 0x431bd3
mov eax, 0x5cd1dc
push eax
push 1
mov ebx, 0x50f1f0
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x5c], eax
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x431bff
push ebx
call fcn.0050d4bd
add esp, 4
mov eax, dword [ebp - 0x5c]
push eax
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x431c16
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], 0xf25ed7
mov dword [ebp - 0x54], 0
push 0
push dword [ebp - 0x54]
mov dword [ebp - 0x58], 0
push 0
push dword [ebp - 0x58]
mov dword [ebp - 0x5c], 0
push 0
push dword [ebp - 0x5c]
lea eax, [ebp - 0x3c]
push eax
call fcn.00406bee
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x60]
push eax
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x431c7d
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x44], eax
mov eax, 0x5cd1e8
xor ecx, ecx
test eax, eax
je 0x431c8f
mov ecx, dword [eax + 4]
push ecx
add eax, 8
push eax
mov eax, dword [ebp - 0x44]
xor ebx, ebx
test eax, eax
je 0x431ca0
mov ebx, dword [eax + 4]
add eax, 8
push eax
cmp ebx, ecx
mov eax, 1
jne 0x431cb7
dec eax
test ecx, ecx
je 0x431cb7
call fcn.004034f1
add esp, 0xc
test eax, eax
je 0x431ee5
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x431cdc
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0050d4b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x431ced
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x48], eax
mov ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x431d16
push eax
mov ebx, eax
call fcn.004012aa
inc eax
push eax
call fcn.0050d4b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x54]
mov ebx, dword [ebx]
test ebx, ebx
je 0x431d2c
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov ebx, dword [ebp - 0x54]
mov dword [ebx], eax
mov ebx, dword [ebp - 0x4c]
add ebx, 4
mov dword [ebp - 0x54], ebx
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x431d5b
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0050d4b7
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x54]
mov ebx, dword [ebx]
test ebx, ebx
je 0x431d71
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov ebx, dword [ebp - 0x54]
mov dword [ebx], eax
push 0x6f5758
push 4
mov eax, 2
call fcn.0050d4b1
add esp, 8
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x54], eax
mov ebx, dword [0x6f5758]
mov dword [ebp - 0x58], ebx
call fcn.004043a4
mov dword [ebp - 0x5c], ecx
mov edi, dword [ebp - 0x58]
mov dword [edi], 1
add edi, 4
mov eax, ecx
inc eax
mov dword [edi], eax
add edi, 4
cmp edi, ebx
je 0x431dcd
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x5c]
inc eax
shl eax, 2
add eax, 8
push eax
push dword [ebp - 0x58]
call fcn.0050d4d5
add esp, 8
mov dword [0x6f5758], eax
mov edi, eax
add edi, 8
mov eax, dword [ebp - 0x5c]
shl eax, 2
add edi, eax
mov eax, dword [ebp - 0x54]
push edi
push eax
push 8
call fcn.0050d4b7
add esp, 4
pop esi
mov edi, eax
push eax
lodsd eax, dword [esi]
push esi
push edi
test eax, eax
je 0x431e33
push eax
mov ebx, eax
call fcn.004012aa
inc eax
push eax
call fcn.0050d4b7
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 0x431e50
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.0050d4b7
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
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x431e6a
mov eax, 0x5cd1e8
push eax
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x54], eax
push reloc.WS2_32.dll_connect
push 0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x431e99
mov eax, 0x5cd1dc
push eax
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x431ec5
push ebx
call fcn.0050d4bd
add esp, 4
mov eax, dword [ebp - 0x58]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x431edc
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
jmp 0x431ee5
jmp 0x431f8d
mov ebx, dword [0x6f5758]
call fcn.004043a4
push ebx
push ecx
mov eax, dword [ebp - 0x2c]
dec eax
jns 0x431f14
push 0x104a
push 0x402c6c8
push 4
call fcn.0050d4c3
add esp, 0xc
pop ecx
pop ebx
cmp eax, ecx
jl 0x431f31
push 0x104a
push 0x402c6c8
push 1
call fcn.0050d4c3
add esp, 0xc
shl eax, 2
add ebx, eax
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x54], ebx
push reloc.WS2_32.dll_getpeername
push 0
mov ebx, dword [ebp - 0x54]
mov eax, dword [ebx]
test eax, eax
jne 0x431f59
mov eax, 0x5cd1e8
push eax
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
push eax
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x431f89
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov dword [ebp - 0x50], eax
push 0x80000301
push 0
push dword [0x6f5674]
push 1
mov eax, 2
mov ebx, 0x576ab0
call fcn.0050d4db
add esp, 0x10
lea eax, [ebp - 0x50]
push eax
call fcn.00419835
mov dword [ebp - 0x54], eax
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x54]
test eax, eax
jne 0x431fd6
mov eax, 0x5cd1e8
push eax
push 1
mov ebx, 0x50fc30
call fcn.0050d4cf
add esp, 0x10
mov dword [ebp - 0x58], eax
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x432002
push ebx
call fcn.0050d4bd
add esp, 4
mov eax, dword [ebp - 0x58]
jmp 0x43203c
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x43204d
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x43205d
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x28]
test ebx, ebx
je 0x43206d
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x34]
test ebx, ebx
je 0x43207d
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x38]
test ebx, ebx
je 0x43208d
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x3c]
test ebx, ebx
je 0x43209d
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x44]
test ebx, ebx
je 0x4320ad
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x4320bd
push ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x4c]
push ebx
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4320d1
push ebx
call fcn.0050d4bd
add esp, 4
pop ebx
add ebx, 4
push ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x4320e5
push ebx
call fcn.0050d4bd
add esp, 4
pop ebx
call fcn.0050d4bd
add esp, 4
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x4320fe
push ebx
call fcn.0050d4bd
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 4