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

Disassembly:
sub esp, 0xc0
mov eax, dword [0x10143964]
xor eax, esp
mov dword [esp + 0xbc], eax
push ebx
push ebp
push esi
push edi
test dword [0x1014bac8], 0x2000
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x104]
mov ebp, dword [esp + 0xf0]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x108]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x10c]
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x4c], eax
movzx eax, word [esp + 0x110]
mov dword [esp + 0x2c], eax
mov eax, dword [edi]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x13], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], 0
je 0x100b8f5c
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x100b8f5c
push str.sctp_handle_cookie:_handling_COOKIE_ECHO_n
call eax
mov ecx, dword [esp + 0x54]
add esp, 4
test ebp, ebp
je 0x100b99dd
movzx eax, word [ecx + 2]
lea ebx, [ecx + 4]
push eax
call dword [sym.imp.WS2_32.dll_ntohs]
movzx eax, ax
mov dword [esp + 0x50], eax
cmp eax, 0xa8
jb 0x100b99dd
mov ecx, dword [esp + 0x1c]
mov ax, word [ebx + 0x58]
cmp ax, word [ecx]
jne 0x100b99dd
mov ax, word [ebx + 0x5a]
cmp ax, word [ecx + 2]
jne 0x100b99dd
mov eax, dword [ebx + 0x28]
cmp eax, dword [ecx + 4]
jne 0x100b99dd
cmp dword [ebx + 0x3c], 4
jne 0x100b8fdb
mov eax, dword [esp + 0x30]
cmp word [eax], 0x7b
jne 0x100b8fdb
lea ecx, [eax + 4]
mov eax, dword [ecx]
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x14]
push ecx
push 4
add eax, 0x30
push eax
push esi
call fcn.10092930
add esp, 0x10
cmp dword [ebx + 0x50], 4
jne 0x100b9007
mov eax, dword [esp + 0x24]
cmp word [eax], 0x7b
jne 0x100b9007
lea ecx, [eax + 4]
mov eax, dword [ecx]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x14]
push ecx
push 4
add eax, 0x44
push eax
push esi
call fcn.10092930
add esp, 0x10
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
add ecx, 0xffffffec
add eax, ecx
push 1
push eax
push esi
mov dword [esp + 0x4c], eax
call fcn.10093440
add esp, 0xc
mov dword [esp + 0x38], eax
test eax, eax
je 0x100b99dd
mov eax, dword [ebp]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], eax
add eax, 0x268
mov dword [esp + 0x34], eax
test ecx, ecx
je 0x100b9062
lea esi, [ecx + 0x584]
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push esi
jmp 0x100b9067
mov dword [esp + 0x34], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x10]
cmp eax, dword [edx + 0xd8]
lea eax, [edx + 0x205]
jge 0x100b9090
mov cl, byte [edx + 0x206]
mov dword [esp + 0x20], eax
cmp byte [eax], cl
jne 0x100b9096
mov cl, byte [eax]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xa4]
push 0
push eax
mov eax, dword [esp + 0x1c]
add edx, 0xdc
add eax, 4
push eax
movsx eax, cl
push esi
shl eax, 5
push 0x20
add eax, edx
push eax
push 1
call fcn.100c4740
add esp, 0x1c
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esp + 0xb8]
push eax
push 0x14
push 0
push dword [esp + 0x44]
call fcn.100a7c60
add esp, 0x10
mov dword [esp + 0x34], eax
test eax, eax
jne 0x100b9100
push dword [esp + 0x38]
call fcn.10092e80
jmp 0x100b99da
push 0x14
push eax
lea eax, [esp + 0xac]
push eax
call fcn.100c0f90
add esp, 0xc
test eax, eax
je 0x100b9179
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x10]
cmp eax, dword [edx + 0xd8]
jne 0x100b917e
mov eax, dword [esp + 0x20]
mov cl, byte [edx + 0x206]
cmp byte [eax], cl
je 0x100b917e
push 0
lea eax, [esp + 0xa8]
add edx, 0xdc
push eax
mov eax, dword [esp + 0x1c]
add eax, 4
push eax
movsx eax, cl
push esi
shl eax, 5
push 0x20
add eax, edx
push eax
push 1
call fcn.100c4740
push 0x14
push dword [esp + 0x54]
lea eax, [esp + 0xc8]
push eax
call fcn.100c0f90
add esp, 0x28
test eax, eax
jne 0x100b917e
mov byte [esp + 0x13], 1
mov ecx, dword [esi]
mov edx, esi
test ecx, ecx
je 0x100b9190
mov eax, dword [ecx]
mov edx, ecx
mov ecx, eax
test eax, eax
jne 0x100b9186
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0x38]
mov dword [edx], eax
jne 0x100b91fd
mov ecx, dword [0x1014bac8]
mov eax, dword [0x1014bb1c]
test ecx, 0x2000
je 0x100b99dd
test eax, eax
je 0x100b91cd
push str.handle_cookie_echo:_cookie_signature_validation_failed__n
call eax
mov eax, dword [0x1014bb1c]
add esp, 4
mov ecx, dword [0x1014bac8]
test ecx, 0x2000
je 0x100b99dd
test eax, eax
je 0x100b99dd
mov edx, dword [esp + 0x14]
push dword [esp + 0x40]
lea ecx, [edx + 4]
push ecx
push edx
push str.offset___u__cookie_offset___u__sig_offset___u_n
call eax
add esp, 0x10
jmp 0x100b99dd
push dword [ebx + 0x18]
call fcn.100acb70
add esp, 4
cmp eax, 0x36ee80
jbe 0x100b9236
test dword [0x1014bac8], 0x2000
je 0x100b99dd
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x100b99dd
push str.handle_cookie_echo:_Invalid_cookie_lifetime_n
jmp 0x100b99d8
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], esi
test eax, eax
js 0x100b99be
test esi, esi
js 0x100b99be
cmp esi, 0xf4240
jge 0x100b99be
lea eax, [esp + 0x5c]
push eax
call fcn.100c0d10
mov ecx, dword [esp + 0x60]
add esp, 4
cmp ecx, dword [esp + 0x20]
jl 0x100b99a2
jne 0x100b9287
cmp dword [esp + 0x60], esi
jl 0x100b99a2
push dword [ebx + 0x18]
call fcn.100acbc0
add eax, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x40], eax
cmp dword [esp + 0x5c], eax
jg 0x100b98f7
jne 0x100b92b0
cmp dword [esp + 0x60], esi
jg 0x100b98f7
mov eax, dword [ebx + 0x3c]
sub eax, 4
je 0x100b933b
sub eax, 1
je 0x100b930c
sub eax, 1
jne 0x100b99dd
movups xmm0, xmmword [ebx + 0x2c]
mov dword [esp + 0x8c], eax
lea esi, [esp + 0x88]
mov eax, 0x17
mov word [esp + 0x88], ax
mov eax, dword [esp + 0x1c]
movups xmmword [esp + 0x90], xmm0
mov ax, word [eax]
mov word [esp + 0x8a], ax
mov eax, dword [ebx + 0x54]
mov dword [esp + 0xa0], eax
jmp 0x100b935c
mov eax, 2
lea esi, [esp + 0x78]
mov word [esp + 0x78], ax
xorps xmm0, xmm0
mov eax, dword [esp + 0x1c]
movlpd qword [esp + 0x80], xmm0
mov ax, word [eax]
mov word [esp + 0x7a], ax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x7c], eax
jmp 0x100b935c
mov eax, 0x7b
lea esi, [esp + 0x70]
mov word [esp + 0x70], ax
mov eax, dword [esp + 0x1c]
mov ax, word [eax]
mov word [esp + 0x72], ax
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x74], eax
cmp dword [edi], 0
jne 0x100b93d9
push 0
push dword [esp + 0x28]
push dword [esp + 0x5c]
push esi
push ebp
call fcn.100b1d00
add esp, 0x14
mov dword [edi], eax
test eax, eax
jne 0x100b9399
mov edx, dword [esp + 0x44]
cmp edx, dword [ebp]
je 0x100b93d9
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x100b93d9
push str.Bad_problem_find_ep_got_a_diff_inp_then_special_locate__n
call eax
add esp, 4
jmp 0x100b93d9
mov ecx, dword [esp + 0x6c]
cmp dword [ecx], 0
jne 0x100b93d9
mov dword [ecx], eax
mov ecx, 1
mov eax, dword [edi]
mov eax, dword [eax + 4]
add eax, 0x2b0
lock xadd dword [eax], ecx
mov eax, dword [edi]
mov edx, dword [esp + 0x44]
mov ecx, dword [eax + 4]
cmp ecx, edx
je 0x100b93d9
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x100b93d9
push edx
push ecx
push str.Huh__ep:_p_diff_then_l_inp:_p__n
call eax
add esp, 0xc
push dword [esp + 0x2c]
mov edx, dword [esp + 0x54]
push dword [esp + 0x50]
mov eax, dword [edi]
sub edx, 0x14
mov ecx, dword [ebp]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x10c]
test eax, eax
jne 0x100b9434
lea eax, [esp + 0x3c]
push eax
push esi
push dword [esp + 0x70]
push ecx
push edx
push ebx
push dword [esp + 0x48]
push dword [esp + 0x54]
push dword [esp + 0x64]
push dword [esp + 0x4c]
push dword [esp + 0x94]
push dword [esp + 0x58]
call fcn.100bf6d0
add esp, 0x44
mov dword [edi], eax
jmp 0x100b9480
lea ecx, [esp + 0x3c]
mov dword [esp + 0x50], 1
push ecx
mov ecx, dword [ebp]
push esi
push dword [esp + 0x70]
push eax
push ecx
push edx
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x58]
push dword [esp + 0x68]
push dword [esp + 0x50]
push dword [esp + 0x98]
push dword [esp + 0x5c]
call fcn.100be560
add esp, 0x48
mov dword [edi], eax
test eax, eax
jne 0x100b9480
mov eax, dword [esp + 0x6c]
mov dword [eax], 0
mov eax, dword [edi]
test eax, eax
je 0x100b99dd
push esi
push eax
call fcn.100b2500
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x100b94c6
push 0x64
push eax
push dword [esp + 0x34]
push eax
push esi
push dword [edi]
call fcn.100afa20
add esp, 0x18
test eax, eax
jne 0x100b99dd
push esi
push dword [edi]
call fcn.100b2500
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100b94f5
movzx eax, word [ebx + 0x1a8]
test eax, 0x200
je 0x100b94f5
push ebx
and eax, 0xfdff
mov word [ebx + 0x1a8], ax
push 0
push dword [edi]
call fcn.100b7420
add esp, 0xc
mov dword [esp + 0x48], 1
push dword [edi]
call fcn.100c0900
mov esi, dword [ebp]
add esp, 4
mov eax, dword [esi + 0xd0]
test al, 2
je 0x100b98b9
cmp dword [esp + 0x3c], 0
je 0x100b9522
test eax, 0x200000
jne 0x100b98b9
cmp dword [esp + 0x28], 0xa
jne 0x100b955c
push 0
push 0
push 0
push dword [edi]
push 0xa
call fcn.100ae250
add esp, 0x14
cmp dword [esp + 0x48], 0
je 0x100b9553
push 0
push ebx
push 0
push dword [edi]
push 0x10
call fcn.100ae250
add esp, 0x14
mov eax, dword [esp + 0x18]
jmp 0x100b99df
mov eax, dword [edi]
mov ecx, 1
mov esi, dword [esi + 0xc4]
add eax, 0x468
lock xadd dword [eax], ecx
mov eax, dword [edi]
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0
push esi
call fcn.10084fc0
mov ecx, dword [edi]
add esp, 8
add ecx, 0x584
mov esi, eax
mov dword [esp + 0x3c], esi
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [edi]
or edx, 0xffffffff
add ecx, 0x468
lock xadd dword [ecx], edx
test esi, esi
jne 0x100b961e
test dword [0x1014bac8], 0x1000
je 0x100b95d2
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x100b95d2
push str.process_cookie_new:_no_room_for_another_socket__n
call eax
add esp, 4
push 0x101008a0
push 4
call fcn.100a62b0
push dword [esp + 0x34]
push dword [esp + 0x58]
push eax
push dword [esp + 0x30]
push dword [esp + 0x3c]
push dword [esp + 0x4c]
push dword [esp + 0x78]
push dword [esp + 0x3c]
push 0
push dword [ebp]
call fcn.100a4fe0
push 0x10000017
push 0
push dword [edi]
push dword [ebp]
call fcn.100b2540
add esp, 0x40
jmp 0x100b99dd
mov esi, dword [esi + 0x10]
mov eax, 1
lea ecx, [esi + 0x2b0]
mov dword [esp + 0x40], ecx
lock xadd dword [ecx], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0xd0]
and eax, 0x86e00016
or eax, 0xe00012
mov dword [esi + 0xd0], eax
mov eax, dword [ebp]
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xcc]
mov dword [esi + 0xcc], eax
mov dword [esi + 0xc8], ecx
mov eax, dword [ebp]
mov eax, dword [eax + 0xd4]
mov dword [esi + 0xd4], eax
mov eax, dword [esp + 0x3c]
mov dword [esi + 0xc4], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x218]
mov dword [esi + 0x218], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x224]
mov dword [esi + 0x224], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x22c]
mov dword [esi + 0x22c], eax
mov eax, dword [ebp]
movzx eax, byte [eax + 0x230]
mov byte [esi + 0x230], al
mov eax, dword [ebp]
movzx eax, byte [eax + 0x231]
mov byte [esi + 0x231], al
mov eax, dword [ebp]
movzx eax, byte [eax + 0x232]
mov byte [esi + 0x232], al
mov eax, dword [ebp]
movzx eax, byte [eax + 0x234]
mov byte [esi + 0x234], al
mov eax, dword [ebp]
movzx eax, byte [eax + 0x235]
mov byte [esi + 0x235], al
mov eax, dword [ebp]
movzx eax, byte [eax + 0x236]
mov byte [esi + 0x236], al
mov eax, dword [ebp]
movzx eax, byte [eax + 0x237]
mov byte [esi + 0x237], al
mov eax, dword [ebp]
mov eax, dword [eax + 0x21c]
mov dword [esi + 0x21c], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x220]
mov dword [esi + 0x220], eax
mov eax, dword [ebp]
movzx eax, byte [eax + 0x228]
mov byte [esi + 0x228], al
mov eax, dword [ebp]
mov ax, word [eax + 0x2b8]
mov word [esi + 0x2b8], ax
mov eax, dword [ebp]
mov eax, dword [eax + 0x2d8]
mov dword [esi + 0x2d8], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x2dc]
mov dword [esi + 0x2dc], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x2e4]
mov dword [esi + 0x2e4], eax
mov eax, dword [ebp]
mov eax, dword [eax + 0x2e0]
mov dword [esi + 0x2e0], eax
mov eax, dword [esi + 0x168]
test eax, eax
je 0x100b97ac
push eax
call fcn.100c3fa0
add esp, 4
mov eax, dword [ebp]
push dword [eax + 0x168]
call fcn.100c3900
mov dword [esi + 0x168], eax
add esp, 4
mov eax, dword [esi + 0x164]
test eax, eax
je 0x100b97d6
push eax
call fcn.100c3fa0
add esp, 4
mov eax, dword [ebp]
push dword [eax + 0x164]
call fcn.100c38d0
mov dword [esi + 0x164], eax
add esp, 4
mov eax, dword [edi]
test eax, eax
je 0x100b9803
push 0x1000
push eax
call fcn.100a52a0
mov eax, dword [edi]
add esp, 8
push eax
push esi
push dword [ebp]
call fcn.100b65c0
mov eax, dword [edi]
add esp, 0xc
add eax, 0x468
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [edi]
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 1
push dword [edi]
push esi
push dword [ebp]
call fcn.100a91e0
mov eax, dword [edi]
add esp, 0x10
add eax, 0x584
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi]
or edx, 0xffffffff
mov ecx, edx
add eax, 0x468
lock xadd dword [eax], ecx
mov eax, dword [esi + 0xd0]
mov ecx, dword [esp + 0x40]
lock xadd dword [ecx], edx
test eax, 0x10000000
jne 0x100b99dd
push 0
push 0
push 0
mov dword [ebp], esi
push dword [edi]
push dword [esp + 0x38]
call fcn.100ae250
add esp, 0x14
cmp dword [esp + 0x48], 0
je 0x100b98a4
push 0
push ebx
push 0
push dword [edi]
push 0x10
call fcn.100ae250
add esp, 0x14
push dword [esp + 0x3c]
call fcn.10084d10
mov eax, dword [esp + 0x1c]
add esp, 4
jmp 0x100b99df
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100b98d2
push 0
push 0
push 0
push dword [edi]
push eax
call fcn.100ae250
add esp, 0x14
cmp dword [esp + 0x48], 0
je 0x100b9553
push 0
push ebx
push 0
push dword [edi]
push 0x10
call fcn.100ae250
mov eax, dword [esp + 0x2c]
add esp, 0x14
jmp 0x100b99df
push 1
push 1
push 1
push 0
push 8
call fcn.100aec90
mov edi, eax
add esp, 0x14
test edi, edi
je 0x100b99dd
mov ebp, dword [edi + 8]
mov esi, dword [sym.imp.WS2_32.dll_htons]
push 3
mov dword [edi + 0xc], 8
call esi
push 8
mov word [ebp], ax
call esi
mov word [ebp + 2], ax
mov ecx, dword [esp + 0x5c]
sub ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x38]
lea esi, [ecx - 1]
lea edx, [eax + 0xf4240]
cmovns edx, eax
test eax, eax
cmovns esi, ecx
cmp esi, 0x10c6
jbe 0x100b9961
or ecx, 0xffffffff
jmp 0x100b9967
imul ecx, esi, 0xf4240
mov eax, ecx
not eax
cmp eax, edx
jb 0x100b9973
add ecx, edx
jmp 0x100b9976
or ecx, 0xffffffff
push ecx
call dword [sym.imp.WS2_32.dll_htonl]
push dword [esp + 0x2c]
mov dword [ebp + 4], eax
push dword [esp + 0x50]
push edi
push dword [ebx + 0x24]
push dword [esp + 0x2c]
push dword [esp + 0x38]
push dword [esp + 0x48]
call fcn.100a1740
add esp, 0x1c
jmp 0x100b99dd
test dword [0x1014bac8], 0x2000
je 0x100b99dd
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x100b99dd
push str.handle_cookie_echo:_cookie_generated_in_the_future__n
jmp 0x100b99d8
test dword [0x1014bac8], 0x2000
je 0x100b99dd
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x100b99dd
push str.handle_cookie_echo:_Invalid_time_stamp_n
call eax
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100f06e3
add esp, 0xc0
ret