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

Disassembly:
sub esp, 0x1bc
mov eax, dword [0x10143964]
xor eax, esp
mov dword [esp + 0x1b8], eax
mov ecx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1cc]
push ebx
mov ebx, dword [esp + 0x1d4]
push ebp
mov ebp, dword [esp + 0x1cc]
push esi
mov esi, dword [esp + 0x1e4]
push edi
mov dword [esp + 0x58], ebx
xor edi, edi
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x44], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x80], ebx
test ebx, ebx
jne 0x10098357
mov dword [esp + 0x10], 0x16
test edx, edx
je 0x1009a226
push edx
jmp 0x1009a21e
test eax, eax
jne 0x1009835f
test edx, edx
je 0x100983aa
mov eax, dword [ebx + 0xc8]
and eax, 0x400000
mov dword [esp + 0x68], 1
or eax, 0
jne 0x1009837b
mov dword [esp + 0x68], edi
mov ecx, 1
lea eax, [ebx + 0x2bc]
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x48]
test eax, eax
je 0x100983b8
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x34], edx
test edx, edx
jg 0x100983b4
jl 0x100983aa
test ecx, ecx
jae 0x100983b4
mov eax, 0x16
jmp 0x1009a22a
mov eax, ecx
jmp 0x100983c8
mov eax, dword [edx + 0x20]
mov dword [esp + 0x44], edx
cdq
mov dword [esp + 0x2c], eax
mov dword [esp + 0x34], edx
test byte [0x1014bac8], 0x10
je 0x100983e8
mov ecx, dword [0x1014bb1c]
test ecx, ecx
je 0x100983e8
push edx
push eax
push ebp
push str.Send_called_addr:_p_send_length__zd_n
call ecx
add esp, 0x10
mov eax, dword [ebx + 0xd0]
and eax, 0xa
cmp al, 0xa
jne 0x10098402
mov dword [esp + 0x10], 0x7e
jmp 0x1009a204
test ebp, ebp
je 0x10098430
movzx eax, word [ebp]
sub eax, 2
je 0x10098426
sub eax, 0x15
je 0x10098426
sub eax, 0x64
je 0x10098426
mov dword [esp + 0x10], 0x66
jmp 0x1009a204
movzx eax, word [ebp + 2]
mov dword [esp + 0x28], eax
jmp 0x10098434
mov dword [esp + 0x28], edi
test esi, esi
je 0x100984a4
movzx edx, word [esi + 4]
mov ecx, dword [esi + 0x1c]
mov eax, edx
mov dword [esp + 0x30], eax
movzx eax, ax
test eax, 0xffff80f0
jne 0x10098638
mov al, dl
and al, 0xf
cmp al, 3
ja 0x10098638
test dx, dx
je 0x10098472
mov eax, 1
mov edx, 0x1014b8f8
lock xadd dword [edx], eax
mov eax, dword [esp + 0x30]
test eax, 0x1000
je 0x1009862d
mov ecx, dword [esp + 0x48]
mov eax, dword [0x1014bac4]
cmp dword [ecx + 0x14], edi
jl 0x100984b7
jg 0x10098496
cmp dword [ecx + 0x10], eax
jbe 0x100984b7
mov eax, 0x73
mov dword [esp + 0x10], eax
jmp 0x1009a215
movzx eax, word [ebx + 0x23c]
mov ecx, dword [ebx + 0x254]
mov dword [esp + 0x30], eax
jmp 0x10098476
push 0x98
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov esi, eax
add esp, 4
test esi, esi
jne 0x100984e5
push dword [esp + 0x44]
call fcn.10092e80
mov eax, 0xc
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1009a215
push 0x94
lea eax, [esi + 4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x58]
add esp, 0xc
mov dword [esi], ebx
test eax, eax
je 0x10098517
movups xmm0, xmmword [eax]
movups xmmword [esi + 8], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esi + 0x18], xmm0
mov eax, dword [eax + 0x20]
mov dword [esi + 0x28], eax
lea edi, [ebx + 0x268]
mov ebx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push edi
call ebx
mov ecx, dword [esp + 0x18]
push edi
mov eax, dword [ecx + 0xd0]
test al, 0x20
je 0x1009855c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push dword [esp + 0x44]
call fcn.10092e80
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0x10
add esp, 8
mov dword [esp + 0x10], eax
jmp 0x1009a215
mov ebp, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
or eax, 0x20
mov dword [ecx + 0xd0], eax
call ebp
mov edx, dword [esp + 0x48]
mov eax, 0xefff
and word [esi + 0xc], ax
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x10]
push eax
push ecx
push edx
mov dword [esi + 0x88], ecx
mov dword [esi + 0x8c], eax
call fcn.100978a0
add esp, 0xc
mov dword [esi + 4], eax
test eax, eax
jne 0x100985d0
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
push dword [esp + 0x48]
call fcn.10092e80
add esp, 8
push edi
call ebx
mov eax, dword [esp + 0x18]
push edi
and dword [eax + 0xd0], 0xffffffdf
call ebp
mov eax, 0xc
mov dword [esp + 0x10], eax
jmp 0x1009a215
push 1
push dword [esp + 0x1c]
push 0x100a3e20
push 0
push esi
push 0
push 0
push 0
push 0
push 0x100a3e70
push 0
call fcn.100b3bd0
add esp, 0x2c
test eax, eax
je 0x10098622
push edi
call ebx
mov eax, dword [esp + 0x18]
push edi
and dword [eax + 0xd0], 0xffffffdf
call ebp
push esi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov eax, 0xe
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x1009a215
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x1009a215
test eax, 0x800
je 0x10098645
test ebp, ebp
jne 0x10098645
mov dword [esp + 0x10], 0x16
jmp 0x1009a204
test dword [ebx + 0xd0], 0x600000
mov edx, dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
jne 0x100986ec
test ecx, ecx
je 0x10098690
push 1
push ecx
push ebx
call fcn.100b2350
mov edi, eax
add esp, 0xc
test edi, edi
je 0x1009871f
mov esi, 1
mov dword [esp + 0x14], esi
jmp 0x10098afe
test ebp, ebp
je 0x10098a15
lea esi, [ebx + 0x268]
push esi
call edx
add ebx, 0x2b0
mov eax, 1
lock xadd dword [ebx], eax
push esi
call dword [esp + 0x20]
push 0
push 0
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x8c]
push ebp
push eax
call fcn.100b1d00
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x10098682
push esi
call dword [esp + 0x28]
or eax, 0xffffffff
lock xadd dword [ebx], eax
push esi
call dword [esp + 0x20]
mov ebx, dword [esp + 0x18]
jmp 0x10098727
lea esi, [ebx + 0x268]
push esi
call edx
mov edi, dword [ebx + 0x214]
test edi, edi
je 0x10098712
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x28]
mov dword [esp + 0x14], 1
push esi
call dword [esp + 0x20]
test edi, edi
jne 0x10098afa
test ebp, ebp
je 0x10098a15
lea eax, [ebx + 0x280]
push eax
call dword [esp + 0x28]
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x6c], 1
test eax, 0x30000000
jne 0x10098755
test eax, 0x4000000
jne 0x10098772
cmp word [ebp], 0x17
jne 0x10098772
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
add eax, 0x280
push eax
mov dword [esp + 0x14], 0x16
call ebx
jmp 0x1009a1dc
lea esi, [ebx + 0x268]
push esi
call dword [esp + 0x28]
lea ecx, [ebx + 0x2b0]
mov eax, 1
lock xadd dword [ecx], eax
push esi
call dword [esp + 0x20]
push 0
push 0
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x8c]
push ebp
push eax
call fcn.100b1d00
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1009899e
cmp dword [esp + 0x58], eax
je 0x100989e6
cmp word [esp + 0x28], ax
jbe 0x100989e6
mov edi, dword [esp + 0x58]
xor ebx, ebx
mov eax, dword [edi + 0xc]
mov dword [esp + 0x54], eax
test eax, eax
jle 0x100989e0
nop
mov esi, eax
sub esi, ebx
cmp esi, 0xc
jl 0x100989d8
lea eax, [esp + 0xbc]
push eax
push 0xc
push ebx
push edi
call fcn.10092aa0
mov eax, dword [esp + 0xcc]
add esp, 0x10
cmp eax, 0xc
jb 0x100989d8
cmp eax, 0x7fffffff
ja 0x100989d8
cmp eax, esi
jg 0x100989d8
cmp dword [esp + 0xc0], 0x84
lea edx, [eax - 0xc]
lea esi, [ebx + 0xc]
jne 0x10098984
mov ecx, dword [esp + 0xc4]
sub ecx, 9
je 0x10098911
sub ecx, 1
jne 0x10098984
cmp edx, 0x10
jl 0x100989d8
mov eax, 0x17
xorps xmm0, xmm0
mov word [esp + 0x90], ax
mov eax, dword [esp + 0x28]
mov word [esp + 0x92], ax
lea eax, [esp + 0x98]
push eax
push 0x10
push esi
push edi
movlpd qword [esp + 0xa4], xmm0
movlpd qword [esp + 0xac], xmm0
movlpd qword [esp + 0xb4], xmm0
call fcn.10092aa0
add esp, 0x10
cmp word [esp + 0x98], 0
jne 0x10098908
cmp word [esp + 0x9a], 0
jne 0x10098908
cmp word [esp + 0x9c], 0
jne 0x10098908
cmp word [esp + 0x9e], 0
jne 0x10098908
cmp word [esp + 0xa0], 0
jne 0x10098908
mov eax, 0xffff
cmp word [esp + 0xa2], ax
jne 0x10098908
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.10092120
add esp, 8
jmp 0x10098952
lea eax, [esp + 0x90]
jmp 0x10098959
cmp edx, 4
jl 0x100989d8
xorps xmm0, xmm0
mov eax, 2
movups xmmword [esp + 0xac], xmm0
mov word [esp + 0xac], ax
mov eax, dword [esp + 0x28]
mov word [esp + 0xae], ax
lea eax, [esp + 0xb0]
push eax
push 4
push esi
push edi
call fcn.10092aa0
add esp, 0x10
lea eax, [esp + 0xac]
push 0
push 0
lea ecx, [esp + 0x48]
push ecx
push eax
lea eax, [esp + 0x90]
push eax
call fcn.100b1d00
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x1009899a
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0x58]
add eax, 3
and eax, 0xfffffffc
add ebx, eax
mov eax, dword [esp + 0x54]
cmp ebx, eax
jl 0x100987e0
jmp 0x100989e0
mov ebx, dword [esp + 0x18]
mov esi, 1
mov dword [esp + 0x14], esi
cmp dword [esp + 0x10], 0
jne 0x1009a1c6
cmp dword [esp + 0x80], ebx
je 0x10098a09
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
add eax, 0x280
push eax
mov dword [esp + 0x14], 0x7e
call ebx
jmp 0x1009a1dc
mov dword [esp + 0x10], 0x16
mov ebx, dword [esp + 0x18]
xor edi, edi
lea esi, [ebx + 0x268]
push esi
call dword [esp + 0x28]
or eax, 0xffffffff
lea ecx, [ebx + 0x2b0]
lock xadd dword [ecx], eax
push esi
call dword [esp + 0x20]
mov esi, dword [esp + 0x14]
jmp 0x100989a7
test edi, edi
jne 0x10098afe
test ebp, ebp
jne 0x10098a22
mov dword [esp + 0x10], 2
jmp 0x1009a1bf
mov ecx, dword [esp + 0x30]
mov eax, ecx
and eax, 0x200
jne 0x10098a15
mov eax, ecx
and eax, 0x100
je 0x10098a42
mov eax, dword [esp + 0x2c]
or eax, dword [esp + 0x34]
je 0x10098a15
movzx eax, word [ebx + 0x208]
push 1
push 0
push eax
movzx eax, word [ebx + 0x17c]
push eax
push dword [ebx + 0x2b4]
lea eax, [esp + 0x24]
push 0
push 0
push eax
push ebp
push ebx
call fcn.100b0220
mov edi, eax
add esp, 0x28
test edi, edi
je 0x1009a1bf
cmp dword [esp + 0x6c], 0
mov esi, 1
mov dword [esp + 0x14], esi
je 0x10098a9e
lea eax, [ebx + 0x280]
push eax
call dword [esp + 0x20]
mov dword [esp + 0x6c], 0
jmp 0x10098ab1
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x10098ab1
push str.Huh_3__create_lock_should_have_been_on___n
call eax
add esp, 4
push 2
push edi
mov dword [esp + 0x28], esi
call fcn.100aa2b0
lea eax, [edi + 0x3c]
push eax
call fcn.100c0d10
mov eax, dword [esp + 0x64]
add esp, 0xc
test eax, eax
je 0x10098afe
lea ecx, [esp + 0x10]
push ecx
push eax
push edi
call fcn.1009dd20
add esp, 0xc
test eax, eax
je 0x10098afe
push 0x90000006
push 0
push edi
push ebx
call fcn.100b2540
add esp, 0x10
jmp 0x1009a204
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x4c], 0
lea ebx, [edi + 0x30]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
jne 0x10098b21
lea eax, [ebx + 0x2c]
mov dword [esp + 0x4c], eax
movzx eax, word [eax + 4]
mov dword [esp + 0x30], eax
jmp 0x10098b25
mov eax, dword [esp + 0x30]
test eax, 0x800
je 0x10098b6b
test ebp, ebp
je 0x10098b56
push ebp
push edi
call fcn.100b2500
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
je 0x10098b5e
mov eax, dword [esp + 0x28]
test ax, ax
je 0x10098b7f
cmp ax, word [edi + 0x580]
jne 0x10098b5e
jmp 0x10098b7f
mov dword [esp + 0x40], 0
mov dword [esp + 0x10], 0x16
jmp 0x1009a1bf
mov eax, dword [edi + 0x228]
test eax, eax
jne 0x10098b7b
mov eax, dword [edi + 0x224]
mov dword [esp + 0x40], eax
mov edx, 1
lea eax, [edi + 0x574]
mov ecx, edx
lock xadd dword [eax], ecx
mov ecx, edx
lea eax, [ebx + 0x438]
lock xadd dword [eax], ecx
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0xc8]
and eax, 0x100000
or eax, 0
je 0x10098bd6
cmp dword [esp + 0x34], 0
jl 0x10098bd6
jg 0x10098bc9
mov ebp, dword [esp + 0x2c]
cmp ebp, dword [ebx + 0x2b8]
jbe 0x10098bd6
mov dword [esp + 0x10], 0x73
jmp 0x1009a1bf
mov eax, dword [edx + 0x2dc]
xor ecx, ecx
test eax, eax
mov ebp, 0x100
setne cl
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x38]
test word [ecx + 0xa], bp
mov ebp, dword [esp + 0x2c]
je 0x10098c04
mov dword [esp + 0x74], 1
jmp 0x10098c0c
test eax, eax
je 0x10098ce6
test esi, esi
lea esi, [edi + 0x584]
jne 0x10098c23
push esi
call dword [esp + 0x28]
mov dword [esp + 0x14], 1
mov edx, dword [edi + 0x358]
xor eax, eax
cmp byte [edi + 0x4c2], al
setne al
lea eax, [eax*4 + 0x10]
imul eax, dword [edi + 0x46c]
sub edx, eax
cmp dword [esp + 0x68], 0
jne 0x10098c55
mov eax, dword [esp + 0x34]
mov dword [esp + 0x5c], eax
jmp 0x10098c62
mov ebp, 1
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x38]
xor eax, eax
mov ebx, dword [ecx + 0xe0]
mov ecx, dword [edi + 0x360]
add ecx, edx
adc eax, eax
add ecx, ebp
adc eax, dword [esp + 0x5c]
xor edx, edx
cmp edx, eax
jl 0x10098cbc
jg 0x10098c8a
cmp ebx, ecx
jb 0x10098cbc
mov eax, dword [edi + 0x46c]
cmp eax, dword [0x1014b9e8]
jae 0x10098cbc
mov ecx, dword [esp + 0x2c]
add dword [edi + 0x360], ecx
mov ebp, dword [esp + 0x1c]
push esi
mov dword [esp + 0x60], ecx
call ebp
mov edx, dword [esp + 0x18]
lea ebx, [edi + 0x30]
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x10098d04
cmp dword [esp + 0x34], edx
jl 0x10098cd8
jg 0x10098cca
cmp dword [esp + 0x2c], ebx
jbe 0x10098cd8
mov eax, 0x73
mov dword [esp + 0x10], eax
jmp 0x1009a1bf
mov eax, 0x8c
mov dword [esp + 0x10], eax
jmp 0x1009a1bf
mov eax, ebp
mov dword [esp + 0x5c], eax
mov ecx, eax
lea eax, [edi + 0x360]
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x74], eax
test dword [ebx], 0x200
jne 0x1009a199
cmp dword [esp + 0x6c], 0
je 0x10098d28
lea eax, [edx + 0x280]
push eax
call ebp
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x4c]
movzx eax, word [eax]
cmp ax, word [ebx + 0x452]
jb 0x10098d45
mov dword [esp + 0x10], 0x16
jmp 0x1009a1a1
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x1ec]
add ecx, ecx
mov al, byte [eax + ecx*8 + 0x2f]
cmp al, 2
je 0x10098d71
cmp al, 1
je 0x10098d71
mov cl, 2
cmp cl, al
sbb eax, eax
and eax, 0xfffffff5
add eax, 0x16
mov dword [esp + 0x10], eax
jmp 0x1009a1a1
mov eax, dword [ebx]
mov ecx, eax
and ecx, 0x7f
cmp ecx, 2
je 0x10098d82
cmp ecx, 4
jne 0x10098d8a
mov dword [esp + 0x20], 1
mov edx, dword [esp + 0x58]
mov ecx, eax
test edx, edx
je 0x10098da9
push edx
call fcn.10092e80
mov eax, dword [ebx]
add esp, 4
mov dword [esp + 0x58], 0
mov ecx, eax
and eax, 0x7f
cmp eax, 0x10
je 0x10099fd1
cmp eax, 0x20
je 0x10099fd1
cmp eax, 0x40
je 0x10099fd1
test cl, cl
js 0x10099fd1
mov eax, dword [esp + 0x30]
and eax, 0x200
jne 0x10099fdf
cmp byte [edi + 0x4c2], al
mov edx, dword [esp + 0x38]
mov ecx, dword [edi + 0x358]
setne al
mov esi, dword [edx + 0xe0]
lea eax, [eax*4 + 0x10]
imul eax, dword [edi + 0x46c]
sub ecx, eax
cmp esi, ecx
jbe 0x10098e11
sub esi, ecx
xor ebx, ebx
jmp 0x10098e22
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
cmp dword [esp + 0x14], 0
je 0x10098e3e
lea eax, [edi + 0x584]
push eax
call ebp
mov edx, dword [esp + 0x38]
mov dword [esp + 0x14], 0
cmp dword [edi + 0x21c], 0
jne 0x10098e54
mov dword [esp + 0x10], 0xe
jmp 0x1009a1a1
cmp dword [esp + 0x68], 0
jne 0x10098e89
cmp dword [esp + 0x34], 0
mov eax, dword [edi]
jl 0x10098e7f
jg 0x10098e72
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [eax + 0xe0]
jbe 0x10098e7f
mov dword [esp + 0x10], 0x73
jmp 0x1009a1a1
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
jmp 0x10098eb0
cmp dword [esp + 0x48], 0
jne 0x10098e9d
mov dword [esp + 0x10], 0x16
jmp 0x1009a1a1
mov eax, dword [edx + 0xe0]
mov ebp, dword [0x1014ba40]
cmp eax, ebp
cmovb ebp, eax
xor eax, eax
cmp dword [esp + 0x74], 0
mov dword [esp + 0x50], eax
mov dword [esp + 0x28], ebp
jne 0x10099060
cmp ebx, eax
jg 0x10098edd
jl 0x10098ecd
cmp esi, ebp
ja 0x10098edd
xor ecx, ecx
cmp ecx, eax
jg 0x10098efb
jl 0x10098edd
cmp dword [edx + 0xe0], ebp
jae 0x10098efb
mov eax, esi
or eax, ebx
je 0x10098efb
mov eax, dword [edi + 0x374]
add eax, dword [edi + 0x46c]
cmp eax, dword [0x1014b9e8]
jb 0x10099060
mov ebx, dword [esp + 0x38]
lea eax, [ebx + 0xac]
push eax
call dword [esp + 0x28]
mov ecx, dword [edi + 0x358]
mov edx, dword [edi + 0x46c]
xor eax, eax
cmp byte [edi + 0x4c2], al
mov esi, dword [ebx + 0xe0]
setne al
lea eax, [eax*4 + 0x10]
imul eax, edx
sub ecx, eax
xor eax, eax
mov ebx, ecx
add ebx, ebp
adc eax, dword [esp + 0x50]
xor ebp, ebp
cmp ebp, eax
mov ebp, dword [0x1014b9e8]
jl 0x10098f5f
jg 0x10098f4f
cmp esi, ebx
jb 0x10098f5f
mov eax, dword [edi + 0x374]
add eax, edx
cmp eax, ebp
jb 0x10099037
test byte [0x1014bac8], 0x10
je 0x10098f90
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x10098f90
push ebp
mov ebp, dword [esp + 0x2c]
push edx
push dword [edi + 0x374]
push dword [esp + 0x5c]
push ebp
push ecx
push esi
push str.pre_block_limit:_u___inq:_d___zd_____d_d____d__n
call eax
add esp, 0x20
jmp 0x10098f94
mov ebp, dword [esp + 0x28]
test byte [0x1014ba78], 1
lea ebx, [edi + 0x30]
je 0x10098fb3
push dword [esp + 0x34]
push dword [esp + 0x30]
push ebx
push 0x51
call fcn.1004d380
add esp, 0x10
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0
mov dword [edi + 0x28], eax
lea eax, [esi + 0xa8]
push eax
call fcn.100845f0
mov dword [esp + 0x14], eax
add esp, 4
mov dword [edi + 0x28], 0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x100990c0
movzx eax, word [esi + 0x40]
mov edx, eax
test ax, ax
mov eax, dword [esp + 0x70]
jne 0x100990b5
test eax, eax
jne 0x100990b9
test byte [0x1014ba78], 1
lea esi, [edi + 0x358]
je 0x10099024
push eax
push dword [esi]
push ebx
push 8
call fcn.1004d380
add esp, 0x10
test dword [ebx], 0x200
jne 0x100990a2
mov ecx, dword [esi]
mov ebx, dword [esp + 0x38]
jmp 0x10098f10
cmp esi, ecx
jbe 0x10099041
sub esi, ecx
xor ebx, ebx
jmp 0x10099052
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x38]
add eax, 0xac
push eax
call dword [esp + 0x20]
test dword [edi + 0x30], 0x200
lea ebp, [edi + 0x30]
jne 0x1009a1a1
mov eax, dword [esp + 0x2c]
or eax, dword [esp + 0x34]
mov eax, dword [sym.imp.KERNEL32.dll_TryEnterCriticalSection]
mov dword [esp + 0x54], eax
jne 0x100990d0
and dword [esp + 0x30], 0x100
je 0x10098b5e
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
jmp 0x10099b0e
mov eax, dword [esp + 0x38]
add eax, 0xac
push eax
call dword [esp + 0x20]
jmp 0x1009a1a1
mov ecx, edx
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x10], ecx
lea eax, [esi + 0xac]
push eax
call dword [esp + 0x20]
jmp 0x1009a1a1
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10099a84
lea eax, [edi + 0x59c]
push eax
call dword [esp + 0x28]
cmp byte [ebp + 0x470], 0
je 0x10099104
mov ecx, dword [esp + 0x4c]
mov ax, word [ebp + 0x46a]
cmp ax, word [ecx]
jne 0x100991cd
mov eax, dword [esp + 0x4c]
movzx eax, word [eax]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [edi + 0x21c]
cmp byte [eax + 0x2e], 0
lea ecx, [eax + 0x2e]
mov dword [esp + 0x50], ecx
je 0x10099152
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0x100991c3
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x1009914b
push str.Warning:_Last_msg_marked_incomplete__yet_nothing_left__n
call eax
add esp, 4
mov eax, dword [esp + 0x50]
mov byte [eax], 0
lea eax, [edi + 0x59c]
push eax
call dword [esp + 0x20]
lea eax, [esp + 0x10]
push eax
push dword [esp + 0x6c]
push ebx
push esi
push dword [esp + 0x50]
mov esi, dword [esp + 0x60]
push dword [esp + 0x5c]
push esi
push ebp
push edi
call fcn.10097420
add esp, 0x24
mov ebx, eax
cmp dword [esp + 0x10], 0
mov dword [esp + 0x28], ebx
jne 0x1009a1ab
lea eax, [edi + 0x59c]
push eax
call dword [esp + 0x28]
movzx ecx, word [esi]
lea edx, [ecx + ecx*2]
shl edx, 4
add edx, dword [edi + 0x21c]
cmp byte [ebx + 0x41], 0
lea eax, [edx + 0x2e]
mov dword [esp + 0x50], eax
je 0x100991ee
mov byte [eax], 0
mov byte [ebp + 0x470], 0
jmp 0x1009920f
mov ebx, dword [esp + 0x28]
cmp byte [ebx + 0x46], 0
je 0x100991e5
lea eax, [edi + 0x59c]
push eax
call dword [esp + 0x20]
mov dword [esp + 0x10], 0x16
jmp 0x1009a1ab
mov byte [ebx + 0x46], 1
jmp 0x1009928e
mov byte [eax], 1
cmp byte [edi + 0x4c2], 0
jne 0x1009920b
mov byte [ebp + 0x470], 1
mov ax, word [esi]
mov word [ebp + 0x46a], ax
mov byte [ebx + 0x43], 0
mov eax, dword [ebx + 0x28]
lea esi, [edi + 0x358]
lock xadd dword [esi], eax
mov esi, dword [edi]
test esi, esi
je 0x1009923e
mov eax, dword [edi + 4]
test dword [eax + 0xd0], 0x400002
je 0x1009923e
mov ecx, dword [ebx + 0x28]
lea eax, [esi + 0xdc]
lock xadd dword [eax], ecx
mov esi, 1
lea eax, [ebp + 0x344]
mov ecx, esi
lock xadd dword [eax], ecx
test dword [esp + 0x30], 0x400
je 0x10099264
mov eax, esi
mov ecx, 0x1014b8fc
lock xadd dword [ecx], eax
mov byte [ebx + 0x46], 1
lea ecx, [ebx + 0x14]
mov dword [ecx], 0
mov eax, dword [edx + 4]
mov dword [ebx + 0x18], eax
mov eax, dword [edx + 4]
push ebx
push edx
push ebp
mov dword [eax], ebx
mov dword [edx + 4], ecx
mov eax, dword [edi + 0x290]
push edi
call eax
add esp, 0x10
mov ebx, dword [esp + 0x1c]
lea esi, [edi + 0x59c]
push esi
call ebx
mov eax, dword [esp + 0x48]
mov ebp, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
test ebp, ebp
jl 0x100998ed
jg 0x100992bf
test edx, edx
je 0x100998ed
mov dword [esp + 0x3c], eax
lea ebx, [edi + 0x358]
nop dword [eax]
mov ecx, dword [ebx]
xor eax, eax
cmp byte [edi + 0x4c2], al
setne al
lea eax, [eax*4 + 0x10]
imul eax, dword [edi + 0x46c]
sub ecx, eax
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + 0xe0]
cmp ebx, ecx
jbe 0x10099303
mov esi, ebx
sub esi, ecx
xor ecx, ecx
jmp 0x10099314
xorps xmm0, xmm0
movlpd qword [esp + 0x60], xmm0
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
test ecx, ecx
ja 0x1009934c
jb 0x10099322
cmp esi, dword [0x1014ba40]
ja 0x1009934c
mov eax, esi
or eax, ecx
je 0x10099330
cmp ebx, dword [0x1014ba40]
jb 0x1009934c
mov eax, edx
or eax, ebp
je 0x100998c1
cmp ebp, ecx
ja 0x10099466
jb 0x1009934c
cmp edx, esi
ja 0x10099466
cmp dword [esp + 0x14], 0
je 0x10099366
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x20]
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x68]
shl eax, 2
or eax, 2
push eax
push 0
push esi
push 2
push dword [esp + 0x58]
call fcn.10093650
mov esi, eax
add esp, 0x14
test esi, esi
je 0x10099a0f
push 0
push esi
call fcn.100931b0
push esi
mov ebx, eax
call fcn.10093190
add esp, 0xc
mov ebp, eax
cmp dword [esp + 0x10], 0
jne 0x10099a04
lea eax, [edi + 0x59c]
push eax
call dword [esp + 0x28]
test dword [edi + 0x30], 0xa00
jne 0x100999d4
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 4]
test eax, eax
je 0x100993d3
mov dword [eax], esi
jmp 0x100993d5
mov dword [ecx], esi
mov dword [ecx + 4], ebp
lea esi, [edi + 0x358]
mov eax, ebx
lock xadd dword [esi], eax
mov edx, dword [edi]
test edx, edx
je 0x10099409
mov eax, dword [edi + 4]
test dword [eax + 0xd0], 0x400002
je 0x10099409
mov ecx, ebx
lea eax, [edx + 0xdc]
lock xadd dword [eax], ecx
mov ecx, dword [esp + 0x28]
lea eax, [ecx + 0x28]
lock xadd dword [eax], ebx
mov edx, dword [esp + 0x30]
test edx, 0x4000
je 0x10099425
mov eax, 0x4000
or word [ecx + 0x38], ax
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + 0x10]
or eax, dword [ebx + 0x14]
jne 0x1009944c
cmp dword [esp + 0x68], eax
je 0x10099448
mov eax, edx
and eax, 0x100
jne 0x10099448
test edx, 0x2000
je 0x1009944c
mov al, 1
jmp 0x1009944e
xor al, al
mov esi, dword [esp + 0x1c]
mov byte [ecx + 0x41], al
lea eax, [edi + 0x59c]
push eax
call esi
mov edx, dword [ebx + 0x10]
mov ebp, dword [ebx + 0x14]
jmp 0x1009946a
mov esi, dword [esp + 0x1c]
or edx, ebp
je 0x100998c1
mov al, byte [edi + 0x4bc]
lea ebp, [edi + 0x30]
test al, al
je 0x100995ac
cmp dword [ebp + 0x350], 0
jbe 0x100995ac
cmp dword [esp + 0x14], 0
jne 0x100994b0
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x28]
mov al, byte [ebp + 0x48c]
mov dword [esp + 0x14], 1
xor ebx, ebx
test al, al
je 0x1009955a
cmp dword [ebp + 0x350], ebx
jbe 0x1009955a
mov esi, dword [ebp + 0x1b4]
test esi, esi
je 0x10099511
mov al, byte [esi + 0x56]
and al, 0xf
cmp al, 2
jne 0x1009950a
mov ecx, dword [esp + 0x4c]
mov eax, dword [esi + 0x1c]
cmp eax, dword [ecx + 0x10]
jle 0x1009950a
cmp dword [esi + 0x3c], 0
je 0x1009950a
cmp dword [esi + 0x50], 0
push 1
setg al
movzx eax, al
push eax
push esi
push edi
call fcn.100a93e0
add ebx, eax
add esp, 0x10
cmp ebx, dword [esp + 0x5c]
jge 0x1009955a
mov esi, dword [esi + 0x48]
test esi, esi
jne 0x100994d0
mov ecx, dword [ebp + 0x1bc]
test ecx, ecx
je 0x1009955a
nop dword [eax + eax]
mov al, byte [ecx + 0x56]
mov esi, dword [ecx + 0x48]
and al, 0xf
cmp al, 2
jne 0x10099554
mov edx, dword [esp + 0x4c]
mov eax, dword [ecx + 0x1c]
cmp eax, dword [edx + 0x10]
jle 0x10099554
cmp dword [ecx + 0x3c], 0
je 0x10099554
push 1
push 0
push ecx
push edi
call fcn.100a93e0
add ebx, eax
add esp, 0x10
cmp ebx, dword [esp + 0x5c]
jge 0x1009955a
mov ecx, esi
test esi, esi
jne 0x10099520
mov ecx, dword [edi + 0x358]
lea ebx, [edi + 0x358]
xor eax, eax
cmp byte [edi + 0x4c2], al
setne al
lea eax, [eax*4 + 0x10]
imul eax, dword [edi + 0x46c]
sub ecx, eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0xe0]
cmp eax, ecx
jbe 0x10099597
sub eax, ecx
jne 0x100998b9
mov esi, dword [esp + 0x1c]
lea eax, [edi + 0x584]
push eax
call esi
xor ecx, ecx
mov dword [esp + 0x14], ecx
jmp 0x100995b6
mov ecx, dword [esp + 0x14]
lea ebx, [edi + 0x358]
cmp dword [esp + 0x74], 0
jne 0x10099974
cmp dword [esp + 0x3c], 0
je 0x10099613
test ecx, ecx
jne 0x100995df
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x28]
mov dword [esp + 0x14], 1
mov eax, dword [ebp]
mov esi, dword [esp + 0x18]
and al, 0x7f
cmp al, 8
jne 0x100995f4
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x1009961b
push 1
push edi
push esi
call fcn.1009fc50
push 2
push edi
call fcn.100aa2b0
mov edx, 1
add esp, 0x14
mov dword [esp + 0x20], edx
jmp 0x1009961b
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x154]
cmp eax, dword [ecx + 0x158]
jbe 0x1009964e
cmp byte [ebp + 0x4ad], 0
jne 0x1009964e
mov eax, 1
mov ecx, 0x1014b924
lock xadd dword [ecx], eax
mov dword [esp + 0x20], 1
jmp 0x1009968a
cmp byte [ebp + 0x4a5], 0
je 0x1009968a
mov eax, 1
mov ecx, 0x1014b8c4
lock xadd dword [ecx], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x94]
add eax, eax
cmp dword [ecx + 0x154], eax
mov eax, 1
mov byte [ebp + 0x4a5], 0
cmova edx, eax
mov dword [esp + 0x20], edx
mov ecx, dword [esi + 0xc8]
mov ebx, dword [ebx]
and ecx, 0x100
mov edx, dword [edi + 0x394]
mov eax, ecx
sub ebx, edx
or eax, 0
jne 0x100996e7
test edx, edx
je 0x100996e7
cmp dword [edi + 0x374], 0x100
jae 0x100996e7
mov eax, dword [edi + 0x2e8]
sub eax, 0x34
cmp ebx, eax
jge 0x100996e7
test dword [0x1014ba78], 0x800
je 0x100996db
push 0x48
push edi
call fcn.1004d380
add esp, 8
mov esi, 1
mov ecx, 0x1014b8bc
jmp 0x1009970a
test dword [0x1014ba78], 0x800
je 0x10099703
or ecx, 0
jne 0x10099703
push 0x49
push edi
call fcn.1004d380
add esp, 8
xor esi, esi
mov ecx, 0x1014b8b8
mov eax, 1
lock xadd dword [ecx], eax
test byte [0x1014ba78], 1
je 0x10099750
mov eax, dword [esp + 0x20]
push ebx
push esi
push eax
push dword [esp + 0x48]
push 0x4d
call fcn.1004d380
push dword [edi + 0x398]
push dword [edi + 0x46c]
push dword [edi + 0x394]
push dword [edi + 0x358]
push 0x4d
call fcn.1004d380
add esp, 0x28
cmp dword [esp + 0x20], 0
mov dword [esp + 0x3c], 0
jne 0x1009979b
test esi, esi
jne 0x1009979b
cmp dword [esp + 0x14], esi
jne 0x1009978a
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x58]
test eax, eax
je 0x100997b5
push 1
push esi
push edi
push dword [esp + 0x24]
call fcn.10095d20
add esp, 0x10
jmp 0x100997a2
push 1
push 0
push edi
push dword [esp + 0x24]
call fcn.10095d20
add esp, 0x10
cmp dword [esp + 0x14], 1
jne 0x100997b5
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x20]
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x38]
add ebx, 0xac
push ebx
call dword [esp + 0x28]
mov esi, dword [edi + 0x358]
xor eax, eax
cmp byte [edi + 0x4c2], al
setne al
lea eax, [eax*4 + 0x10]
imul eax, dword [edi + 0x46c]
sub esi, eax
mov eax, dword [esp + 0x38]
mov edx, dword [eax + 0xe0]
mov eax, edx
cmp dword [0x1014ba40], edx
cmovb eax, dword [0x1014ba40]
add eax, esi
cmp edx, eax
ja 0x10099895
test byte [0x1014ba78], 1
je 0x10099826
mov eax, dword [esp + 0x48]
push dword [eax + 0x14]
push dword [eax + 0x10]
push ebp
push 7
call fcn.1004d380
add esp, 0x10
mov esi, dword [esp + 0x38]
lea eax, [esp + 0x70]
mov dword [esp + 0x70], 0
mov dword [edi + 0x28], eax
lea eax, [esi + 0xa8]
push eax
call fcn.100845f0
mov dword [esp + 0x14], eax
add esp, 4
mov dword [edi + 0x28], 0
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x10099949
movzx eax, word [esi + 0x40]
mov edx, eax
test ax, ax
mov eax, dword [esp + 0x70]
jne 0x1009993e
test eax, eax
jne 0x10099942
test byte [0x1014ba78], 1
je 0x10099895
push eax
push dword [edi + 0x358]
push ebp
push 8
call fcn.1004d380
add esp, 0x10
push ebx
mov ebx, dword [esp + 0x20]
call ebx
lea esi, [edi + 0x59c]
push esi
call dword [esp + 0x28]
test dword [ebp], 0xa00
push esi
jne 0x10099a7d
call ebx
jmp 0x100998c7
lea esi, [edi + 0x59c]
jmp 0x100998cd
lea esi, [edi + 0x59c]
lea ebx, [edi + 0x358]
mov eax, dword [esp + 0x48]
mov ebp, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
test ebp, ebp
jl 0x100998e9
jg 0x100992d0
test edx, edx
jne 0x100992d0
mov ebx, dword [esp + 0x1c]
push esi
call dword [esp + 0x28]
test dword [edi + 0x30], 0xa00
lea ebp, [edi + 0x30]
jne 0x10099a7c
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x50]
cmp byte [ecx + 0x41], 0
jne 0x10099a3d
mov byte [eax], 1
cmp byte [edi + 0x4c2], 0
jne 0x10099a4b
mov eax, dword [esp + 0x4c]
mov byte [ebp + 0x470], 1
mov ax, word [eax]
mov word [ebp + 0x46a], ax
jmp 0x10099a4b
mov ecx, edx
test eax, eax
cmovne ecx, eax
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x1c]
push ebx
call esi
lea ebx, [edi + 0x59c]
push ebx
call dword [esp + 0x28]
test dword [ebp], 0xa00
jne 0x1009996c
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x46], 0
push ebx
call esi
jmp 0x1009a1ab
lea ebx, [edi + 0x59c]
push ebx
call dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
push ebx
mov byte [ecx + 0x46], 0
call esi
mov ebx, dword [esp + 0x18]
cmp dword [esp + 0x3c], 0
mov ebp, dword [edi + 0x1d4]
je 0x10099d5c
cmp dword [esp + 0x14], 0
jne 0x100999b9
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x28]
mov dword [esp + 0x14], 1
mov eax, dword [edi + 0x30]
lea edx, [edi + 0x30]
and al, 0x7f
cmp al, 8
jne 0x10099d3d
xor esi, esi
mov dword [esp + 0x20], esi
jmp 0x10099d63
push esi
call fcn.10092e80
mov eax, dword [esp + 0x14]
add esp, 4
test dword [edi + 0x30], 0x800
mov ecx, 0x6c
cmovne eax, ecx
mov dword [esp + 0x10], eax
lea eax, [edi + 0x59c]
push eax
call dword [esp + 0x20]
jmp 0x1009a1ab
push esi
call fcn.10092e80
add esp, 4
jmp 0x10099a17
mov dword [esp + 0x10], 0x77
lea ebx, [edi + 0x59c]
push ebx
call dword [esp + 0x28]
test dword [edi + 0x30], 0xa00
jne 0x10099a33
mov ecx, dword [esp + 0x28]
mov byte [ecx + 0x46], 0
push ebx
call dword [esp + 0x20]
jmp 0x1009a1ab
mov byte [ecx + 0x43], 1
mov byte [eax], 0
mov byte [ebp + 0x470], 0
push esi
mov byte [ecx + 0x46], 0
call ebx
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x10]
or eax, dword [ecx + 0x14]
jne 0x10099a66
mov dword [esp + 0x7c], 1
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x3c]
and eax, 0x100
mov ebx, dword [esp + 0x44]
movzx eax, ax
jmp 0x10099ac2
push esi
call ebx
jmp 0x1009a1ab
push 0
push dword [esp + 0x50]
push eax
push dword [esp + 0x4c]
push edi
call fcn.1009dae0
mov edx, dword [esp + 0x44]
xor ebx, ebx
mov ecx, dword [esp + 0x50]
add esp, 0x14
and edx, 0x100
mov dword [esp + 0x10], eax
mov dword [esp + 0x44], ebx
mov esi, ecx
movzx eax, dx
je 0x10099ac2
mov dword [esp + 0x7c], 1
movzx eax, dx
cmp dword [esp + 0x10], 0
mov edx, dword [esp + 0x20]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x20], edx
movzx ecx, ax
jne 0x1009a1ab
mov dword [esp + 0x44], ebx
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x14], ebx
test cx, cx
je 0x1009998a
cmp dword [esp + 0x7c], 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], ebx
jne 0x1009998a
mov eax, 1
mov ecx, 0x1014b900
lock xadd dword [ecx], eax
mov esi, dword [esp + 0x24]
mov dword [esp + 0x10], 0
test ebx, ebx
jne 0x10099b3e
lea eax, [edi + 0x584]
push eax
call esi
mov ebx, 1
mov dword [esp + 0x14], ebx
cmp dword [ebp + 0x1bc], 0
jne 0x10099bfb
cmp dword [ebp + 0x1b4], 0
jne 0x10099bfb
push 1
push edi
call fcn.100bc7f0
add esp, 8
test eax, eax
jne 0x10099bfb
mov eax, dword [ebp + 0x280]
push ebp
push edi
call eax
add esp, 8
test al, al
jne 0x10099c85
mov eax, dword [ebp]
and eax, 0x7f
cmp eax, 0x10
je 0x1009998a
cmp eax, 0x20
je 0x1009998a
cmp eax, 0x40
je 0x1009998a
cmp eax, 8
jne 0x10099bb2
or eax, 0xffffffff
mov ecx, 0x1014b71c
lock xadd dword [ecx], eax
push 0x10
push edi
call fcn.100aa2b0
push edi
call fcn.100ac4d0
mov esi, dword [edi + 0x228]
add esp, 0xc
test esi, esi
jne 0x10099bd3
mov esi, dword [edi + 0x224]
push esi
push edi
call fcn.100a2b40
push esi
push edi
push dword [edi + 4]
push 4
call fcn.100ad900
push 0
push edi
push dword [edi + 4]
push 0xb
call fcn.100ad900
add esp, 0x28
jmp 0x1009998a
mov eax, dword [ebp]
and eax, 0x7f
cmp eax, 0x10
je 0x1009998a
cmp eax, 0x20
je 0x1009998a
cmp eax, 0x40
je 0x1009998a
test ebx, ebx
jne 0x10099c31
lea eax, [edi + 0x584]
push eax
call esi
mov dword [esp + 0x14], 1
mov eax, dword [ebp + 0x280]
push ebp
push edi
call eax
add esp, 8
test al, al
je 0x10099c50
push 0x400
push edi
call fcn.100a52a0
add esp, 8
push 0x80
push edi
call fcn.100a52a0
add esp, 8
cmp dword [ebp + 0x1bc], 0
jne 0x10099d0e
cmp dword [ebp + 0x1b4], 0
jne 0x10099d0e
test dword [ebp], 0x400
je 0x10099d0e
or ecx, 0xffffffff
lea eax, [edi + 0x468]
lock xadd dword [eax], ecx
push str.sctp_lower_sosend
push 0x3959
push str.X:jenkins_workspaceworkspacehybridclient_builder_productlibdatachanneldepsusrsctpusrsctplib_netinet_sctp_output.c
push str._s:_d_at__s
lea eax, [esp + 0xd8]
mov dword [esp + 0x88], 0
push 0x100
push eax
call fcn.1004b510
movzx ecx, byte [esp + 0xe0]
xor edx, edx
test eax, eax
lea eax, [esp + 0xe0]
push eax
movzx eax, word [0x1014baa8]
cmovs ecx, edx
push eax
mov byte [esp + 0xe8], cl
call fcn.100a62b0
push 1
push 0
push eax
push edi
push dword [edi + 4]
call fcn.100a4f10
add esp, 0x34
mov dword [esp + 0x14], 0
xor edi, edi
jmp 0x1009a1a1
push 0
push edi
push dword [edi + 4]
push 0xb
call fcn.100ad900
mov ebx, dword [esp + 0x28]
add esp, 0x10
mov eax, dword [ebx + 0xcc]
and dword [ebx + 0xc8], 0xfffffeff
mov dword [ebx + 0xcc], eax
jmp 0x1009998e
push 1
push edi
push ebx
call fcn.1009fc50
push 2
push edi
call fcn.100aa2b0
mov esi, 1
add esp, 0x14
mov dword [esp + 0x20], esi
jmp 0x10099d60
mov esi, dword [esp + 0x20]
lea edx, [edi + 0x30]
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x154]
cmp eax, dword [ecx + 0x158]
jbe 0x10099d96
cmp byte [edi + 0x4dd], 0
jne 0x10099d96
mov eax, 1
mov ecx, 0x1014b924
lock xadd dword [ecx], eax
mov dword [esp + 0x20], 1
jmp 0x10099dd2
cmp byte [edx + 0x4a5], 0
je 0x10099dd2
mov eax, 1
mov ecx, 0x1014b8c4
lock xadd dword [ecx], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x94]
add eax, eax
cmp dword [ecx + 0x154], eax
mov eax, 1
mov byte [edx + 0x4a5], 0
cmova esi, eax
mov dword [esp + 0x20], esi
mov ecx, dword [ebx + 0xc8]
mov esi, dword [edi + 0x358]
and ecx, 0x100
mov edx, dword [edi + 0x394]
mov eax, ecx
sub esi, edx
or eax, 0
jne 0x10099e33
test edx, edx
je 0x10099e33
cmp dword [edi + 0x374], 0x100
jae 0x10099e33
mov eax, dword [edi + 0x2e8]
sub eax, 0x34
cmp esi, eax
jge 0x10099e33
test dword [0x1014ba78], 0x800
je 0x10099e27
push 0x48
push edi
call fcn.1004d380
add esp, 8
mov ebx, 1
mov eax, 0x1014b8bc
jmp 0x10099e56
test dword [0x1014ba78], 0x800
je 0x10099e4f
or ecx, 0
jne 0x10099e4f
push 0x49
push edi
call fcn.1004d380
add esp, 8
xor ebx, ebx
mov eax, 0x1014b8b8
mov ecx, 1
lock xadd dword [eax], ecx
test byte [0x1014ba78], 1
je 0x10099e9b
push esi
push ebx
push dword [esp + 0x28]
push dword [esp + 0x48]
push 0x4d
call fcn.1004d380
push dword [edi + 0x398]
push dword [edi + 0x46c]
push dword [edi + 0x394]
push dword [edi + 0x358]
push 0x4d
call fcn.1004d380
add esp, 0x28
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x10099f2c
test ebx, ebx
jne 0x10099eed
cmp dword [edi + 0x348], ebx
je 0x10099ef6
test esi, esi
je 0x10099eed
cmp dword [esp + 0x14], ebx
jne 0x10099f19
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x58]
test eax, eax
je 0x10099f86
push 1
push ebx
push edi
push dword [esp + 0x24]
call fcn.10095d20
add esp, 0x10
mov dword [esp + 0x14], 1
jmp 0x10099f86
cmp dword [edi + 0x348], 0
jne 0x10099f2c
cmp dword [edi + 0x394], 0
jne 0x10099f2c
cmp dword [esp + 0x14], 0
jne 0x10099f19
lea eax, [edi + 0x584]
mov dword [esp + 0x14], 1
push eax
call dword [esp + 0x28]
push 1
push 0
push edi
push dword [esp + 0x24]
call fcn.10095d20
add esp, 0x10
jmp 0x10099f86
test ebp, ebp
je 0x10099f8a
cmp dword [esp + 0x14], 0
jne 0x10099f4a
lea eax, [edi + 0x584]
mov dword [esp + 0x14], 1
push eax
call dword [esp + 0x28]
lea ebx, [edi + 0x30]
push ebx
push edi
call fcn.10097ac0
push 1
push eax
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x9c]
push eax
push 1
push 1
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0xa0]
push eax
push ebx
push edi
push dword [esp + 0x48]
call fcn.1009b030
add esp, 0x34
mov edx, dword [esp + 0x20]
test byte [0x1014bac8], 0x10
je 0x1009a1a1
mov eax, dword [0x1014bb1c]
test eax, eax
je 0x1009a1a1
push dword [esp + 0x10]
push dword [edi + 0x358]
push dword [edi + 0x46c]
push dword [edi + 0x394]
push esi
push dword [edi + 0x348]
push edx
push str.USR_Send_complete_qo:_d_prw:_d_unsent:_d_tf:_d_cooq:_d_toqs:_d_err:_d_n
call eax
add esp, 0x20
jmp 0x1009a1a1
and dword [esp + 0x30], 0x200
je 0x1009a199
xorps xmm0, xmm0
mov ecx, 0x1014b904
movlpd qword [esp + 0x60], xmm0
mov eax, 1
lock xadd dword [ecx], eax
mov eax, dword [ebx]
and eax, 0x7f
cmp eax, 2
je 0x10098d38
cmp eax, 4
je 0x10098d38
test esi, esi
je 0x1009a022
lea eax, [edi + 0x584]
push eax
call ebp
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x1009a068
push 1
push 1
push 2
push 0
push 4
call fcn.100aec90
mov ecx, dword [esp + 0x40]
add esp, 0x14
or ecx, dword [esp + 0x34]
mov ebp, eax
mov esi, dword [esp + 0x64]
je 0x1009a062
mov ecx, ebx
mov ebx, dword [esp + 0x60]
mov eax, dword [ecx + 0xc]
mov ecx, dword [ecx]
cdq
add ebx, eax
adc esi, edx
test ecx, ecx
jne 0x1009a052
jmp 0x1009a0a6
mov ebx, dword [esp + 0x60]
jmp 0x1009a0a6
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
mov esi, dword [esp + 0x34]
add ecx, 4
mov eax, esi
adc eax, 0
js 0x1009a093
jg 0x1009a086
cmp ecx, 0x5ac
jbe 0x1009a093
mov dword [esp + 0x10], 0x73
jmp 0x1009a1ab
push 1
push 1
push 2
push 0
push ecx
call fcn.100aec90
add esp, 0x14
mov ebp, eax
test ebp, ebp
jne 0x1009a0b7
mov dword [esp + 0x10], 0xc
jmp 0x1009a1a1
mov eax, dword [edi + 0x2e8]
xor ecx, ecx
sub eax, 4
sub eax, 0x10
sbb ecx, ecx
cmp esi, ecx
jl 0x1009a0d3
jg 0x1009a0d1
cmp ebx, eax
jbe 0x1009a0d3
mov ebx, eax
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.WS2_32.dll_htons]
push 0xc
mov dword [esp + 0x58], eax
call esi
mov ecx, dword [esp + 0x54]
mov word [ecx], ax
lea eax, [ebx + 4]
push eax
call esi
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
mov word [ecx + 2], ax
lea eax, [ebx + 4]
mov dword [ebp + 0xc], eax
test edx, edx
jne 0x1009a186
push dword [esp + 0x48]
lea eax, [ecx + 4]
push ebx
push eax
call fcn.100854f0
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x1009a12f
push ebp
call fcn.10092e80
add esp, 4
xor ebp, ebp
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x14], 0
jne 0x1009a149
lea eax, [edi + 0x584]
push eax
call dword [esp + 0x28]
or ecx, 0xffffffff
lea eax, [edi + 0x468]
lock xadd dword [eax], ecx
push 1
push 0
push ebp
push edi
push dword [edi + 4]
mov dword [esp + 0x8c], 0
call fcn.100a4f10
add esp, 0x14
mov dword [esp + 0x14], 0
xor edi, edi
or ebx, esi
je 0x1009a1bf
mov dword [esp + 0x44], edi
jmp 0x1009a1bf
mov ebx, dword [esp + 0x2c]
mov eax, ebx
mov esi, dword [esp + 0x34]
or eax, esi
je 0x1009a137
mov dword [ebp], edx
jmp 0x1009a137
mov dword [esp + 0x10], 0x6c
mov eax, dword [esp + 0x2c]
or eax, dword [esp + 0x34]
je 0x1009a1bf
test edi, edi
je 0x1009a1bf
mov ecx, dword [esp + 0x5c]
lea eax, [edi + 0x360]
neg ecx
lock xadd dword [eax], ecx
cmp dword [esp + 0x6c], 0
je 0x1009a1d8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
add eax, 0x280
push eax
call ebx
jmp 0x1009a1dc
mov ebx, dword [esp + 0x1c]
test edi, edi
je 0x1009a204
cmp dword [esp + 0x14], 0
je 0x1009a1f0
lea eax, [edi + 0x584]
push eax
call ebx
cmp dword [esp + 0x78], 0
je 0x1009a204
lea eax, [edi + 0x468]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x1009a215
push eax
call fcn.10092e80
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x1009a226
push eax
call fcn.10092e80
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c8]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100f06e3
add esp, 0x1bc
ret