Function at 0x47b40c
Capabilities:
Set socket configuration

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x70
mov eax, dword [0x500144]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
and dword [ebp - 0x44], 0
and dword [ebp - 0x40], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x48], eax
lea edi, [ebp - 0x24]
xor eax, eax
mov dword [ebp - 0x3c], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [ebx]
push ebx
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x5035f0]
call esi
mov ecx, dword [ebx]
push ebx
mov dword [ebp - 0x54], eax
mov esi, dword [ecx + 0x28]
mov ecx, esi
call dword [0x5035f0]
call esi
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x50], eax
or dword [edi + 0x10], 2
lea eax, [edi + 4]
mov ecx, dword [ebx]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x34]
push eax
push ebx
mov esi, dword [ecx + 0x38]
mov ecx, esi
call dword [0x5035f0]
call esi
mov ebx, eax
test ebx, ebx
jns 0x47b4d6
mov eax, dword [section..data]
cmp eax, section..data
je 0x47bc8b
test byte [eax + 0x1c], 8
je 0x47bc8b
cmp byte [eax + 0x19], 2
jb 0x47bc8b
call fcn.0042386b
push ebx
push 0x411e64
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x10
jmp 0x47bc80
mov eax, dword [section..data]
mov ebx, section..data
cmp eax, ebx
je 0x47b51c
test dword [eax + 0x1c], 0x800
je 0x47b51c
cmp byte [eax + 0x19], 4
jb 0x47b51c
call fcn.0042386b
push dword [ebp + 0x18]
mov edx, 0x4122a0
push dword [ebp + 0x14]
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x11
pop ecx
call fcn.00429397
mov eax, dword [section..data]
mov ecx, dword [ebp - 0x48]
push 8
pop edx
test ecx, ecx
je 0x47b54e
mov eax, dword [ecx]
mov esi, dword [eax]
lea eax, [ebp - 0x40]
push eax
push 0x4072e8
push ecx
mov ecx, esi
call dword [0x5035f0]
call esi
mov esi, eax
test esi, esi
jns 0x47b586
mov eax, dword [section..data]
push 8
pop edx
jmp 0x47b553
mov esi, 0x80004005
cmp eax, ebx
je 0x47b586
test byte [eax + 0x1c], dl
je 0x47b586
cmp byte [eax + 0x19], 2
jb 0x47b586
call fcn.0042386b
push esi
push 0x411e8c
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x12
pop ecx
call fcn.0042371b
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x47b654
mov ecx, dword [eax]
mov esi, dword [ecx + 0x18]
lea ecx, [edi + 0x28]
push ecx
push 0x410390
push 0x40ff4c
push eax
mov ecx, esi
call dword [0x5035f0]
call esi
mov esi, eax
test esi, esi
jns 0x47b5f1
mov ecx, dword [section..data]
cmp ecx, ebx
je 0x47b5f1
push 8
pop eax
test byte [ecx + 0x1c], al
je 0x47b5f1
cmp byte [ecx + 0x19], 2
jb 0x47b5f1
call fcn.0042386b
push esi
push 0x411eb4
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x13
pop ecx
call fcn.0042371b
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov esi, dword [ecx + 0x18]
lea ecx, [edi + 0x2c]
push ecx
push 0x410918
push 0x40ff4c
push eax
mov ecx, esi
call dword [0x5035f0]
call esi
mov esi, eax
test esi, esi
jns 0x47b654
mov ecx, dword [section..data]
cmp ecx, ebx
je 0x47b654
push 8
pop eax
test byte [ecx + 0x1c], al
je 0x47b654
cmp byte [ecx + 0x19], 2
jb 0x47b654
call fcn.0042386b
push esi
push 0x411ed8
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x14
pop ecx
call fcn.0042371b
lea esi, [edi + 0x78]
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x18]
push eax
push 4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.ADVAPI32.dll_EventActivityIdControl]
mov edi, dword [ebp - 0x3c]
lea ecx, [edi + 0x30]
call fcn.00464dc0
test eax, eax
jne 0x47b6cd
mov ebx, 0x80004005
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b6bc
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47b6bc
cmp byte [eax + 0x19], 2
jb 0x47b6bc
call fcn.0042386b
push ebx
push 0x411f10
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x15
mov edx, 0x4122a0
pop ecx
call fcn.0042371b
lea eax, [ebp - 0x18]
push eax
push 2
call dword [sym.imp.ADVAPI32.dll_EventActivityIdControl]
jmp 0x47bc8b
xor esi, esi
push esi
push esi
push 1
push esi
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [edi + 0x48], eax
test eax, eax
jne 0x47b73a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b722
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47b722
cmp byte [eax + 0x19], 2
jb 0x47b722
call fcn.0042386b
push ebx
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x16
pop ecx
call fcn.00421fda
test ebx, ebx
jle 0x47b731
movzx ebx, bx
or ebx, 0x80070000
test ebx, ebx
js 0x47b6bc
mov ebx, 0x80004005
jmp 0x47b6bc
push ecx
lea eax, [edi + 0x5c]
push eax
call fcn.0047d8bb
mov ebx, eax
test ebx, ebx
jns 0x47b78e
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b6bc
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47b6bc
cmp byte [eax + 0x19], 2
jb 0x47b6bc
call fcn.0042386b
push ebx
push 0x411f34
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x17
jmp 0x47b6b1
push ecx
lea eax, [edi + 0x60]
push eax
call fcn.0047dc55
mov ebx, eax
test ebx, ebx
jns 0x47b7e2
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b6bc
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47b6bc
cmp byte [eax + 0x19], 2
jb 0x47b6bc
call fcn.0042386b
push ebx
push 0x411f58
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x18
jmp 0x47b6b1
push ecx
lea eax, [edi + 0x64]
push eax
call fcn.0047dc55
mov ebx, eax
test ebx, ebx
jns 0x47b836
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b6bc
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47b6bc
cmp byte [eax + 0x19], 2
jb 0x47b6bc
call fcn.0042386b
push ebx
push 0x411f84
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x19
jmp 0x47b6b1
mov ebx, dword [ebp + 0x10]
lea eax, [ebp - 0x38]
push 4
xor ecx, ecx
push eax
inc ecx
push ecx
push 6
push ebx
mov dword [ebp - 0x38], ecx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x47b895
push 4
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], esi
push eax
push 0xffffff7f
push 0xffff
push ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
je 0x47b895
push 4
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 1
push eax
push 8
pop eax
push eax
push 0xffff
push ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
cmp eax, 0xffffffff
jne 0x47b8b5
call fcn.0048b320
mov ebx, eax
lea eax, [ebp - 0x18]
push eax
push 2
call dword [sym.imp.ADVAPI32.dll_EventActivityIdControl]
test ebx, ebx
jns 0x47bc93
jmp 0x47bc8b
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x47b96f
push esi
push esi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x4c]
push eax
push esi
push esi
push 0xc
lea eax, [ebp - 0x24]
mov dword [ebp - 0x4c], esi
push eax
push 0x98000004
push ebx
mov dword [ebp - 0x24], 1
call dword [sym.imp.WS2_32.dll_WSAIoctl]
cmp eax, 0xffffffff
jne 0x47b936
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b96f
test dword [eax + 0x1c], 0x800
je 0x47b96f
cmp byte [eax + 0x19], 2
jb 0x47b96f
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov esi, eax
call fcn.0042386b
push esi
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1a
pop ecx
call fcn.00421fda
jmp 0x47b96f
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b96f
test dword [eax + 0x1c], 0x800
je 0x47b96f
cmp byte [eax + 0x19], 4
jb 0x47b96f
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1b
pop ecx
call fcn.004238e7
push dword [ebp - 0x50]
lea ecx, [edi + 0x58]
mov dword [edi + 0x38], ebx
call fcn.004676cd
cmp dword [0x5013b4], 0
mov eax, dword [ebp - 0x54]
mov dword [edi + 0x6c], eax
je 0x47ba95
lea eax, [ebp - 0x44]
push eax
push 0x410908
push 0x407428
call fcn.00483c6d
test eax, eax
js 0x47ba95
mov ecx, dword [ebp - 0x48]
mov ebx, 0x411fb0
test ecx, ecx
je 0x47b9e0
mov eax, dword [ecx]
mov esi, dword [eax + 0xc]
lea eax, [ebp - 0x6c]
push eax
push 0x411fc0
push ecx
mov ecx, esi
call dword [0x5035f0]
call esi
test eax, eax
js 0x47b9e0
push 8
pop eax
cmp word [ebp - 0x6c], ax
jne 0x47b9e0
mov ebx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
mov esi, dword [ecx + 0x10]
lea ecx, [edi + 0x70]
push ecx
push ebx
push dword [edi + 0x6c]
mov ecx, esi
push eax
call dword [0x5035f0]
call esi
mov esi, eax
test esi, esi
jns 0x47ba41
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x47ba87
push 8
pop eax
test byte [ecx + 0x1c], al
je 0x47ba47
cmp byte [ecx + 0x19], 2
jb 0x47ba47
call fcn.0042386b
push esi
push 0x411fe8
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1d
pop ecx
call fcn.0042371b
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x47ba87
test dword [ecx + 0x1c], 0x800
je 0x47ba87
cmp byte [ecx + 0x19], 5
jb 0x47ba87
mov esi, dword [edi + 0x70]
mov edi, dword [edi + 0x6c]
call fcn.0042386b
push esi
push edi
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1e
pop ecx
call fcn.00429397
mov edi, dword [ebp - 0x3c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x90], eax
jmp 0x47bace
mov eax, dword [section..data]
cmp eax, section..data
je 0x47bace
test dword [eax + 0x1c], 0x800
je 0x47bace
cmp byte [eax + 0x19], 3
jb 0x47bace
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1c
pop ecx
call fcn.004238e7
lea ecx, [edi + 0x74]
call fcn.00481515
mov ebx, eax
test ebx, ebx
jns 0x47bb20
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b6bc
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47b6bc
cmp byte [eax + 0x19], 2
jb 0x47b6bc
call fcn.0042386b
push ebx
push 0x412034
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1f
jmp 0x47b6b1
push dword [edi + 0x38]
mov ecx, dword [edi + 0x74]
call fcn.0048134e
mov ebx, eax
test ebx, ebx
jns 0x47bb75
mov eax, dword [section..data]
cmp eax, section..data
je 0x47b6bc
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47b6bc
cmp byte [eax + 0x19], 2
jb 0x47b6bc
call fcn.0042386b
push ebx
push 0x412060
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x20
jmp 0x47b6b1
mov eax, dword [section..data]
mov esi, section..data
cmp eax, esi
je 0x47bbc0
test dword [eax + 0x1c], 0x800
je 0x47bbc0
cmp byte [eax + 0x19], 4
jb 0x47bbc0
mov esi, dword [edi + 0x38]
mov edi, dword [edi + 0x6c]
call fcn.0042386b
push esi
push edi
push eax
mov eax, dword [section..data]
mov edx, 0x4122a0
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x21
pop ecx
call fcn.00429397
mov edi, dword [ebp - 0x3c]
mov esi, section..data
lea eax, [ebp - 0x18]
push eax
push 2
call dword [sym.imp.ADVAPI32.dll_EventActivityIdControl]
cmp dword [edi + 0x28], 0
je 0x47bc93
mov edx, 0x410e30
mov ecx, 0x80000002
call fcn.00482b4f
cmp eax, 1
jne 0x47bc93
lea edx, [edi + 0x94]
call fcn.00481f48
mov ecx, eax
call fcn.00464e13
mov ebx, eax
test ebx, ebx
jns 0x47bc38
mov eax, dword [section..data]
cmp eax, esi
je 0x47bc8b
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47bc8b
cmp byte [eax + 0x19], 2
jb 0x47bc8b
call fcn.0042386b
push ebx
push 0x412094
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x22
jmp 0x47bc80
lea edx, [edi + 0x98]
call fcn.00481f48
mov ecx, eax
call fcn.00464e13
mov ebx, eax
test ebx, ebx
jns 0x47bc93
mov eax, dword [section..data]
cmp eax, esi
je 0x47bc8b
push 8
pop ecx
test byte [eax + 0x1c], cl
je 0x47bc8b
cmp byte [eax + 0x19], 2
jb 0x47bc8b
call fcn.0042386b
push ebx
push 0x412094
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x23
mov edx, 0x4122a0
pop ecx
call fcn.0042371b
mov ecx, dword [ebp - 0x58]
call fcn.0047bcd0
lea eax, [ebp - 0x6c]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea ecx, [ebp - 0x40]
call fcn.004262d0
lea ecx, [ebp - 0x44]
call fcn.004262d0
mov ecx, dword [ebp - 8]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004fb5e0
leave
ret 0x1c