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

Disassembly:
push 0xffffffffffffffff
push 0x1008e498
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
mov ebx, ecx
push ebp
push esi
lea eax, [ebx + 0x216c]
push edi
push eax
call fcn.1003c200
mov ebp, dword [ebx + 0x2164]
mov edx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x2168]
add esp, 4
xor esi, esi
add ebp, edx
cmp eax, esi
mov dword [esp + 0x10], esi
push ebp
jne 0x10035658
call dword [sym.imp.MSVCRT.dll_malloc]
add esp, 4
cmp eax, esi
mov dword [ebx + 0x2168], eax
jne 0x100356b7
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0x46e
push ecx
push str.F:SCVICELIBIceProviderIceSocket.cpp
lea ecx, [esp + 0x1c]
call fcn.10038570
push str.malloc_error
push 1
push eax
mov dword [esp + 0x48], esi
call fcn.100386d0
add esp, 0xc
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], 0xffffffff
call fcn.100385c0
mov eax, esi
jmp 0x1003586c
push eax
call dword [sym.imp.MSVCRT.dll_realloc]
add esp, 8
cmp eax, esi
jne 0x100356b1
lea edx, [esp + 0x48]
lea ecx, [esp + 0x14]
push edx
push str.F:SCVICELIBIceProviderIceSocket.cpp
mov dword [esp + 0x50], 0x475
call fcn.10038570
push str.realloc_error
push 1
push eax
mov dword [esp + 0x48], 1
call fcn.100386d0
add esp, 0xc
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], 0xffffffff
call fcn.100385c0
mov eax, esi
jmp 0x1003586c
mov dword [ebx + 0x2168], eax
mov edi, dword [ebx + 0x2168]
cmp edi, esi
jne 0x1003570d
lea eax, [esp + 0x48]
lea ecx, [esp + 0x14]
push eax
push str.F:SCVICELIBIceProviderIceSocket.cpp
mov dword [esp + 0x50], 0x47b
call fcn.10038570
push ebp
push 0x100a7ae8
push 1
push eax
mov dword [esp + 0x4c], 2
call fcn.100386d0
add esp, 0x10
lea ecx, [esp + 0x14]
mov dword [esp + 0x3c], 0xffffffff
call fcn.100385c0
mov eax, esi
jmp 0x1003586c
mov edx, dword [ebx + 0x2164]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
add edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
cmp ebp, 0x18
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0x2168]
jb 0x1003580f
mov eax, ebp
mov ecx, dword [esi + 0x10]
add ecx, 0x18
cmp eax, ecx
jb 0x10035782
mov eax, dword [ebx + 0x78]
push ecx
push esi
push eax
mov ecx, ebx
call fcn.10023450
mov ecx, eax
call fcn.1001bac0
test eax, eax
je 0x10035822
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x10]
mov esi, dword [ebx + 0x2168]
mov eax, ebp
lea ecx, [edx + ecx + 0x18]
sub eax, ecx
add esi, ecx
cmp eax, 0x18
mov dword [esp + 0x10], ecx
jae 0x1003573c
mov esi, dword [esp + 0x10]
test esi, esi
jbe 0x10035813
mov ecx, dword [ebx + 0x2168]
mov eax, ebp
sub eax, esi
add ecx, esi
push eax
push ecx
mov ecx, ebx
call fcn.100353e0
mov edi, eax
test edi, edi
jne 0x100357ea
lea edx, [esp + 0x44]
lea ecx, [esp + 0x24]
push edx
push str.F:SCVICELIBIceProviderIceSocket.cpp
mov dword [esp + 0x4c], 0x4aa
call fcn.10038570
push str._MallocCopy
push 1
push eax
mov dword [esp + 0x48], 4
call fcn.100386d0
add esp, 0xc
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x24]
jmp 0x10035865
mov eax, dword [ebx + 0x2168]
push eax
call dword [sym.imp.MSVCRT.dll_free]
add esp, 4
sub ebp, esi
mov dword [ebx + 0x2168], edi
mov dword [ebx + 0x2164], ebp
mov eax, 1
jmp 0x1003586c
mov esi, dword [esp + 0x10]
sub ebp, esi
mov eax, 1
mov dword [ebx + 0x2164], ebp
jmp 0x1003586c
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0x49b
push ecx
push str.F:SCVICELIBIceProviderIceSocket.cpp
lea ecx, [esp + 0x1c]
call fcn.10038570
mov edx, dword [ebx + 0x78]
mov dword [esp + 0x3c], 3
push edx
push 0x100a7b40
push 1
push eax
call fcn.100386d0
add esp, 0x10
mov dword [esp + 0x3c], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.100385c0
xor eax, eax
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret 8