Function at 0x46d770
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x51d110
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x54d154]
xor eax, esp
mov dword [esp + 0x50], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x54d154]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov eax, dword [esp + 0x7c]
xor ebp, ebp
cmp dword [0x552fac], ebp
mov dword [esp + 0x28], eax
je 0x46d814
mov edi, 0xf
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
mov dword [esp + 0x70], ebp
mov eax, dword [0x552f5c]
mov esi, dword [esp + 0x78]
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push ebp
lea edx, [esp + 0x50]
push edx
push esi
push eax
mov eax, dword [ecx + 0x3c]
call eax
test eax, eax
jne 0x46d835
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x60], 0x10
jb 0x46d807
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004e3843
add esp, 4
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x4c], 0
xor eax, eax
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.004e3834
add esp, 0x60
ret
call fcn.0040e8e0
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ebp
mov byte [esp + 0x70], 1
mov eax, dword [0x552fac]
movzx ecx, word [eax]
lea edx, [esp + 0x30]
push edx
push ecx
call fcn.0046a5c0
mov eax, dword [0x552f5c]
mov edx, dword [eax]
add esp, 8
push esi
push eax
mov eax, dword [edx + 0x68]
call eax
cmp eax, 1
mov eax, dword [0x552fcc]
mov ecx, dword [eax + 4]
mov esi, dword [ecx]
mov edi, eax
sete bl
cmp edi, ebp
mov byte [esp + 0x1f], bl
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], eax
je 0x46db2a
lea esp, [esp]
cmp edi, dword [esp + 0x3c]
jne 0x46db2a
cmp esi, ecx
sete al
test al, al
sete al
test al, al
je 0x46d9e3
cmp esi, dword [edi + 4]
je 0x46d9de
mov ebp, dword [esi + 8]
mov edx, dword [0x552fac]
movzx ecx, word [ebp + 4]
movzx eax, word [edx]
cmp cx, ax
jne 0x46d938
cmp bl, 1
jne 0x46d938
movzx ecx, word [ebp + 6]
push ecx
call fcn.0046b390
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x46d9c2
mov edx, dword [esp + 0x28]
mov esi, dword [ebx + 0x14]
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
push edx
add esi, 1
call edi
push eax
mov eax, dword [esp + 0x2c]
push eax
push esi
call edi
push eax
push esi
push 0x10001
push 0x400
call dword [sym.imp.KERNEL32.dll_CompareStringA]
sub eax, 2
jne 0x46d9ba
mov cx, word [ebx + 0xe]
cmp cx, word [esp + 0x18]
jmp 0x46d96c
cmp word [ebp + 6], ax
jne 0x46d9c2
cmp dword [edx + 0x10], 3
jl 0x46d9c2
test bl, bl
jne 0x46d9c2
push ecx
call fcn.0046b390
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x46d9c2
mov edi, dword [ebx + 0x14]
mov esi, dword [esp + 0x28]
add edi, 1
call fcn.0040b090
test eax, eax
jne 0x46d9ba
cmp byte [ebp + 8], 1
jne 0x46d996
cmp dword [esp + 0x60], 0x10
mov esi, dword [esp + 0x4c]
jae 0x46d983
lea esi, [esp + 0x4c]
mov edi, dword [ebx + 0x18]
add edi, 0x35
call fcn.0040b090
test eax, eax
je 0x46da1a
cmp byte [ebp + 8], 0
jne 0x46d9ba
cmp dword [esp + 0x60], 0x10
mov esi, dword [esp + 0x4c]
jae 0x46d9ab
lea esi, [esp + 0x4c]
mov edi, dword [ebx + 0x18]
add edi, 0x25
call fcn.0040b090
test eax, eax
je 0x46da1a
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
cmp esi, dword [edi + 4]
je 0x46d9de
mov edx, dword [esi]
mov bl, byte [esp + 0x1f]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
mov esi, edx
xor ebp, ebp
jmp 0x46d8a0
jmp fcn.0040f030
mov byte [esp + 0x70], 0
lea esi, [esp + 0x30]
call fcn.0040e970
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x60], 0x10
jb 0x46da0d
mov eax, dword [esp + 0x4c]
push eax
call fcn.004e3843
add esp, 4
mov dword [esp + 0x60], 0xf
jmp 0x46d80b
mov eax, dword [ebp + 0xd]
test eax, eax
mov esi, dword [esp + 0x78]
je 0x46dab3
cmp eax, esi
je 0x46db0a
mov eax, dword [esp + 0x4c]
mov edi, 0x10
cmp dword [esp + 0x60], edi
jae 0x46da44
lea eax, [esp + 0x4c]
movzx ecx, word [esp + 0x18]
push ecx
push eax
push esi
push str.server_cord_already_established_:_created_session_overlapped_:__d___s__d_
push 0x1000000
call fcn.00484350
mov eax, dword [0x552f5c]
mov edx, dword [eax]
add esp, 0x14
push 1
push esi
push eax
mov eax, dword [edx + 0x5c]
call eax
mov byte [esp + 0x70], 0
lea esi, [esp + 0x30]
call fcn.0040e970
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x60], edi
jb 0x46da97
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.004e3843
add esp, 4
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
mov byte [esp + 0x4c], 0
mov eax, ebp
jmp 0x46d816
cmp eax, esi
je 0x46db0a
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x40]
push eax
mov ebx, 0x595068
mov dword [ebp + 0xd], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], ebp
call fcn.0046f090
cmp dword [esp + 0x60], 0x10
mov eax, dword [esp + 0x4c]
jae 0x46dae5
lea eax, [esp + 0x4c]
movzx ecx, word [esp + 0x18]
push ecx
push eax
push esi
push str.server_cord_established_:__d___s:_d_
push 0
call fcn.00484350
mov eax, dword [0x552f5c]
mov edx, dword [eax]
add esp, 0x14
push esi
push eax
mov eax, dword [edx + 0x64]
call eax
mov byte [esp + 0x70], 0
lea esi, [esp + 0x30]
call fcn.0040e970
mov dword [esp + 0x70], 0xffffffff
cmp dword [esp + 0x60], 0x10
jmp 0x46da88
jmp fcn.0040f0a0