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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1ac
mov eax, dword [0x698b9c]
xor eax, esp
mov dword [esp + 0x1a8], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
xor esi, esi
push edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], esi
cmp eax, esi
jne 0x491f3a
mov edi, 0x16
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
cmp eax, esi
jg 0x491f4a
jl 0x491f1e
cmp ecx, esi
jb 0x491f1e
mov edi, dword [edx + 0x10]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], edi
cmp edi, esi
je 0x491f1e
mov eax, dword [edi + 0xc8]
and eax, 0x400000
mov dword [esp + 0x28], eax
je 0x491f7a
mov dword [esp + 0x5c], 1
cmp esi, esi
je 0x491f7e
mov dword [esp + 0x5c], esi
mov eax, dword [edi + 0xd0]
test al, 2
je 0x491f8c
test al, 8
jne 0x491f1e
push 1
lea ecx, [edi + 0x2bc]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp ebx, esi
je 0x491fe2
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x60], ebx
movzx ebx, word [ebx + 4]
movzx eax, bx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x3c], ebx
test eax, 0xffff80f0
jne 0x491f1e
mov cl, bl
and cl, 0xf
cmp cl, 3
ja 0x491f1e
cmp bx, si
je 0x491ffd
push 1
push 0x69f660
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
jmp 0x491ffd
movzx edx, word [edi + 0x23c]
mov eax, dword [edi + 0x254]
mov dword [esp + 0x60], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x4c], eax
mov ebx, edx
test ebx, 0x800
jne 0x491f1e
lea ebx, [edi + 0x268]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dword [esp + 0x3c], 0x1000
je 0x492059
test byte [edi + 0xd0], 1
je 0x492059
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
push ecx
push edi
call fcn.004893d0
add esp, 8
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0xd0]
test eax, 0x600000
jne 0x492099
cmp dword [esp + 0x4c], 2
jbe 0x492084
mov edx, dword [esp + 0x4c]
push 1
push edx
call fcn.00466e00
mov esi, eax
add esp, 8
mov dword [esp + 0xc], esi
jmp 0x4920b4
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ebx, dword [esp + 0x70]
mov edi, 2
jmp 0x493338
mov esi, dword [edi + 0x210]
mov dword [esp + 0xc], esi
test esi, esi
je 0x4920b4
lea eax, [esi + 0x57c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
test esi, esi
jne 0x4920cb
mov ebx, dword [esp + 0x70]
lea edi, [esi + 2]
jmp 0x493338
mov eax, dword [esi + 0x30]
lea ebx, [esi + 0x30]
test eax, 0xa00
jne 0x49299b
and eax, 0x7f
cmp eax, 2
je 0x4920e9
cmp eax, 4
jne 0x4920f1
mov dword [esp + 0x58], 1
lea eax, [ebx + 0x430]
push 1
push eax
mov dword [esp + 0x6c], eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [esp + 0x60], 0
mov dword [esp + 0x88], 1
jne 0x492148
lea esi, [ebx + 0x2c]
mov ecx, 9
lea edi, [esp + 0x8c]
rep movsd dword es:[edi], dword [esi]
movzx eax, word [esp + 0x90]
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x6c]
lea ecx, [esp + 0x8c]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], eax
jmp 0x49214c
mov eax, dword [esp + 0x3c]
test eax, 0x200
je 0x4922d2
push 1
push 0x69f66c
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [ebx]
and eax, 0x7f
cmp eax, 2
je 0x4922d9
cmp eax, 4
je 0x4922d9
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x70], eax
add eax, 4
mov edx, edi
adc edx, 0
mov dword [esp + 0x74], edi
mov dword [esp + 0x2c], edx
js 0x4921ac
jg 0x4921a2
cmp eax, 0x5ac
jbe 0x4921ac
mov edi, 0x2738
jmp 0x493338
push 1
push 0
push 1
push eax
call fcn.00464fc0
add esp, 0x10
mov dword [esp + 0x20], eax
test eax, eax
je 0x49226b
mov ecx, dword [ebx + 0x2b8]
mov dword [esp + 0x18], eax
sub ecx, 4
xor eax, eax
sub ecx, 0x10
sbb eax, eax
cmp edi, eax
jl 0x4921ef
jg 0x4921e7
cmp dword [esp + 0x30], ecx
jbe 0x4921ef
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 8]
push 0xc
call sub.WS2_32.dll_htons
mov ecx, dword [esp + 0x70]
add ecx, 4
push ecx
mov word [edi], ax
call sub.WS2_32.dll_htons
mov edx, dword [esp + 0x70]
mov word [edi + 2], ax
mov eax, dword [esp + 0x20]
add edx, 4
mov dword [eax + 0xc], edx
lea eax, [esi + 0x57c]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x70]
push ecx
add edi, 4
push edi
mov edi, dword [esp + 0x24]
call fcn.004611c0
mov edi, eax
add esp, 8
lea eax, [esi + 0x57c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dword [ebx], 0xa00
jne 0x492275
test edi, edi
je 0x492298
mov eax, dword [esp + 0x20]
call fcn.004653c0
xor ebx, ebx
xor edi, edi
jmp 0x49229c
mov edi, 0xc
jmp 0x493338
mov eax, dword [esp + 0x20]
call fcn.004653c0
mov edi, dword [ebx]
and edi, 0x800
neg edi
sbb edi, edi
and edi, 0xfffffffd
add edi, 0x2749
jmp 0x493338
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [esi + 4]
push 1
push 0
push ebx
push esi
push eax
call fcn.004795e0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
test eax, 0x800
je 0x4922e3
mov edi, 0x16
jmp 0x493338
mov ecx, dword [ebx + 0x1f8]
test ecx, ecx
jne 0x4922f3
mov ecx, dword [ebx + 0x1f4]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x30]
or ecx, edx
jne 0x49230f
test eax, 0x100
je 0x4922d9
jmp 0x492e86
mov eax, dword [edi + 0xc8]
and eax, 0x100000
mov dword [esp + 0x28], eax
mov eax, 0
je 0x492345
test eax, eax
jne 0x492345
cmp edx, eax
mov ecx, dword [ebx + 0x2b8]
jl 0x492345
jg 0x49233b
cmp dword [esp + 0x30], ecx
jbe 0x492345
mov edi, 0x2738
jmp 0x493338
mov ecx, dword [esp + 0x60]
movzx eax, word [ecx]
mov dword [esp + 0x7c], eax
cmp ax, word [ebx + 0x44a]
jb 0x492363
mov edi, 0x16
jmp 0x493338
mov edx, dword [ebx + 0x1ec]
movzx eax, ax
lea eax, [eax + eax*2]
shl eax, 4
mov dword [esp + 0x78], eax
mov al, byte [edx + eax + 0x2f]
cmp al, 2
je 0x492393
cmp al, 1
je 0x492393
mov cl, 2
cmp cl, al
sbb edi, edi
and edi, 0xfffffff5
add edi, 0x16
jmp 0x493338
push 1
lea edx, [esi + 0x56c]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [edi + 0x2dc], 0
je 0x4923b3
mov dword [esp + 0x20], 1
mov edi, dword [esp + 0x14]
mov eax, pe_nt_image_headers32
test word [edi + 0xa], ax
je 0x4923cc
mov dword [esp + 0x20], 1
jmp 0x4923d7
cmp dword [esp + 0x20], 0
je 0x492495
mov eax, dword [ebx + 0x434]
xor ecx, ecx
cmp byte [esi + 0x4ba], cl
setne cl
lea ecx, [ecx*4 + 0x10]
imul ecx, eax
mov eax, dword [ebx + 0x324]
sub eax, ecx
cmp dword [esp + 0x5c], 0
mov dword [esp + 0x18], eax
jne 0x492417
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
jmp 0x492427
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], 0
mov ecx, dword [edi + 0x140]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 0x32c]
xor eax, eax
xor edi, edi
xor edx, edx
add ecx, dword [esp + 0x18]
adc eax, edi
add ecx, dword [esp + 0x28]
adc eax, dword [esp + 0x2c]
cmp edx, eax
jl 0x492465
jg 0x492457
cmp dword [esp + 0x50], ecx
jb 0x492465
mov eax, dword [ebx + 0x434]
cmp eax, dword [0x69f750]
jb 0x492491
cmp dword [esp + 0x34], edx
jl 0x492487
jg 0x492477
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x30], edx
jbe 0x492487
cmp dword [esp + 0x5c], edi
jne 0x492487
mov edi, 0x2738
jmp 0x493338
mov edi, 0x2733
jmp 0x493338
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
push eax
lea ecx, [ebx + 0x32c]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [esp + 0x34]
xor ecx, ecx
cmp byte [esi + 0x4ba], cl
mov edx, dword [esp + 0x30]
setne cl
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x434]
mov dword [esp + 0x18], eax
mov dword [esp + 0x80], edx
lea ecx, [ecx*4 + 0x10]
imul ecx, eax
mov eax, dword [ebx + 0x324]
sub eax, ecx
mov ecx, dword [edi + 0x140]
cmp ecx, eax
jbe 0x4924f8
mov edx, ecx
sub edx, eax
mov dword [esp + 0x28], edx
jmp 0x492500
mov dword [esp + 0x28], 0
cmp dword [esp + 0x5c], 0
jne 0x492531
mov edx, dword [esi]
mov edx, dword [edx + 0x140]
mov dword [esp + 0x50], edx
xor edx, edx
cmp dword [esp + 0x34], edx
jl 0x492545
jg 0x492527
mov edx, dword [esp + 0x30]
cmp edx, dword [esp + 0x50]
jbe 0x492545
mov edi, 0x2738
jmp 0x493338
mov edx, dword [0x69f7a8]
cmp ecx, edx
jae 0x49253d
mov edx, ecx
mov dword [esp + 0x40], edx
xor edx, edx
jmp 0x492551
mov edx, dword [esp + 0x30]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x20], 0
mov dword [esp + 0x44], edx
jne 0x4926d3
xor edi, edi
cmp edi, edx
jg 0x492584
jl 0x492576
mov edx, dword [esp + 0x28]
cmp edx, dword [esp + 0x40]
ja 0x492584
mov edx, dword [esp + 0x44]
xor edi, edi
cmp edi, edx
jg 0x4925a4
jl 0x492584
cmp ecx, dword [esp + 0x40]
jae 0x4925a4
mov edx, dword [esp + 0x28]
xor ecx, ecx
or edx, ecx
je 0x4925a4
mov ecx, dword [ebx + 0x33c]
add ecx, dword [esp + 0x18]
cmp ecx, dword [0x69f750]
jb 0x4926d3
mov edi, eax
mov eax, dword [esp + 0x14]
add eax, 0x10c
mov dword [esp + 0x50], eax
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
xor eax, eax
mov ecx, edi
add ecx, dword [esp + 0x40]
adc eax, dword [esp + 0x44]
xor edx, edx
cmp edx, eax
jl 0x4925f2
jg 0x4925da
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x140], ecx
jb 0x4925f2
mov eax, dword [ebx + 0x33c]
add eax, dword [ebx + 0x434]
cmp eax, dword [0x69f750]
jb 0x4926aa
lea eax, [esi + 0x57c]
lea ecx, [esp + 0x68]
mov dword [esp + 0x68], 0
push eax
mov dword [esi + 0x28], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x14]
add eax, 0xe8
call fcn.00460980
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
jne 0x492648
mov edx, dword [esp + 0x14]
movzx eax, word [edx + 0x60]
test ax, ax
je 0x49263a
movzx edi, ax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x68]
test eax, eax
je 0x492648
mov edi, eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [esi + 0x57c]
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [esi + 0x28], 0
test edi, edi
jne 0x493338
test dword [ebx], 0xa00
jne 0x49227e
mov esi, dword [esp + 0xc]
mov edi, dword [ebx + 0x324]
mov edx, dword [esp + 0x50]
xor ecx, ecx
cmp byte [esi + 0x4ba], cl
push edx
setne cl
lea ecx, [ecx*4 + 0x10]
imul ecx, dword [ebx + 0x434]
sub edi, ecx
jmp 0x4925b4
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x140]
cmp eax, edi
jbe 0x4926c0
sub eax, edi
mov dword [esp + 0x28], eax
jmp 0x4926c8
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebx + 0x468], 0
je 0x4926f4
mov dx, word [esp + 0x7c]
cmp word [ebx + 0x462], dx
je 0x4926f4
mov edi, 0x16
jmp 0x493338
mov eax, dword [ebx + 0x1ec]
add eax, dword [esp + 0x78]
cmp byte [eax + 0x2e], 0
mov dword [esp + 0x50], eax
je 0x492737
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov edi, dword [edx]
mov dword [esp + 0x40], edi
test edi, edi
jne 0x4929b3
mov eax, dword [0x69f864]
test eax, eax
je 0x49272f
push str.Warning:_Last_msg_marked_incomplete__yet_nothing_left__n
call eax
add esp, 4
mov eax, dword [esp + 0x50]
mov byte [eax + 0x2e], 0
lea edi, [esi + 0x57c]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x24]
xor eax, eax
push eax
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
push eax
push esi
call fcn.00491cd0
add esp, 0x20
push edi
mov dword [esp + 0x44], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebx]
test eax, 0xa00
jne 0x49299b
mov edi, dword [esp + 0x10]
test edi, edi
jne 0x493338
mov ecx, eax
and ecx, 0x7f
cmp ecx, 0x10
je 0x49289f
cmp ecx, 0x20
je 0x49289f
cmp ecx, 0x40
je 0x49289f
test al, al
js 0x49289f
mov esi, dword [ebx + 0x1ec]
mov edi, dword [esp + 0x40]
add esi, dword [esp + 0x78]
cmp byte [edi + 0x41], 0
je 0x4927db
mov byte [esi + 0x2e], 0
mov byte [ebx + 0x468], 0
jmp 0x4927ff
mov byte [esi + 0x2e], 1
cmp byte [ebx + 0x48a], 0
jne 0x4927fb
mov cx, word [esp + 0x7c]
mov byte [ebx + 0x468], 1
mov word [ebx + 0x462], cx
mov byte [edi + 0x43], 0
mov edx, dword [edi + 0x28]
mov eax, dword [esp + 0xc]
push edx
add eax, 0x354
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
test eax, eax
je 0x492845
mov edx, ecx
mov ecx, dword [edx + 4]
mov ecx, dword [ecx + 0xd0]
test cl, 2
jne 0x492835
test ecx, 0x400000
je 0x492845
mov edx, dword [edi + 0x28]
push edx
add eax, 0x13c
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push 1
lea eax, [ebx + 0x33c]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
test dword [esp + 0x3c], 0x400
je 0x49286b
push 1
push 0x69f664
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov dword [edi + 0x14], 0
mov byte [edi + 0x46], 1
mov ecx, dword [esi + 4]
lea eax, [edi + 0x14]
mov dword [edi + 0x18], ecx
mov edx, dword [esi + 4]
push edi
mov dword [edx], edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 0x260]
push esi
push ebx
push eax
call ecx
add esp, 0x10
jmp 0x4929c7
mov esi, dword [esp + 0x40]
mov eax, dword [esi]
xor edi, edi
cmp eax, edi
je 0x4928b8
call fcn.004653c0
mov dword [esi], edi
mov dword [esi + 4], edi
mov dword [esi + 0x28], edi
mov eax, dword [esi + 0x10]
cmp eax, edi
je 0x49295f
push 0xffffffffffffffff
add eax, 0x150
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp eax, 1
jne 0x49295c
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx + 0x70]
cmp eax, edi
je 0x492902
cmp dword [eax + 0xc], 1
jg 0x4928f1
call fcn.0047c400
jmp 0x4928f6
mov ecx, eax
dec dword [ecx + 0xc]
mov edx, dword [esi + 0x10]
mov dword [edx + 0x70], edi
mov eax, dword [esi + 0x10]
mov dword [eax + 0x70], edi
mov eax, dword [esi + 0x10]
cmp byte [eax + 0x1b3], 0
je 0x49292a
mov esi, dword [eax + 0x90]
call fcn.00466100
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x10]
mov dword [edx + 0x90], edi
xor edi, edi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov byte [eax + 0x1b3], 0
mov eax, dword [esi + 0x10]
mov ecx, 0xfffe
and word [eax + 0x1a4], cx
mov edx, dword [esi + 0x10]
push edx
call fcn.005c05f8
add esp, 4
push 0xffffffffffffffff
push 0x69f39c
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov dword [esi + 0x10], edi
cmp byte [esi + 0x40], 0
je 0x49297b
movzx eax, word [esi + 0x3e]
mov ecx, dword [esp + 0xc]
push eax
push ecx
call fcn.00496920
add esp, 8
mov byte [esi + 0x40], 0
push esi
call fcn.005c05f8
add esp, 4
push 0xffffffffffffffff
push 0x69f3a8
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov edi, 0x20
jmp 0x493338
and eax, 0x800
neg eax
sbb eax, eax
and eax, 0xfffffffd
add eax, 0x2749
mov edi, eax
jmp 0x493338
cmp byte [edi + 0x46], 0
je 0x4929c3
mov edi, 0x16
jmp 0x493338
mov byte [edi + 0x46], 1
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x28], eax
test edx, edx
jl 0x492df3
jg 0x4929f0
test eax, eax
jbe 0x492df3
jmp 0x4929f0
mov eax, dword [esp + 0xc]
xor ecx, ecx
cmp byte [eax + 0x4ba], cl
mov eax, dword [ebx + 0x324]
setne cl
lea ecx, [ecx*4 + 0x10]
imul ecx, dword [ebx + 0x434]
sub eax, ecx
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x140]
cmp ecx, eax
jbe 0x492a29
mov esi, ecx
sub esi, eax
jmp 0x492a2b
xor esi, esi
xor eax, eax
xor edi, edi
cmp eax, edi
jg 0x492a63
jl 0x492a3d
cmp esi, dword [0x69f7a8]
ja 0x492a63
test eax, eax
jl 0x492a4f
jg 0x492a47
test esi, esi
jbe 0x492a4f
cmp ecx, dword [0x69f7a8]
jb 0x492a63
cmp edx, eax
jg 0x492b69
jl 0x492a63
cmp dword [esp + 0x28], esi
ja 0x492b69
mov edi, dword [esp + 0xc]
add edi, 0x57c
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
xor eax, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x18], eax
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x54]
push eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x18]
push ecx
push esi
push edx
call fcn.00491c30
add esp, 0x14
push edi
mov esi, eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
test dword [ebx], 0xa00
jne 0x492e46
mov edi, dword [esp + 0x10]
test esi, esi
je 0x492e39
test edi, edi
jne 0x492e32
mov edi, dword [esp + 0x40]
mov eax, dword [edi + 4]
test eax, eax
je 0x492ad7
mov dword [eax], esi
jmp 0x492ad9
mov dword [edi], esi
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
push ecx
lea edx, [esi + 0x354]
push edx
mov dword [edi + 4], eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [esi]
test eax, eax
je 0x492b23
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0xd0]
test cl, 2
jne 0x492b12
test ecx, 0x400000
je 0x492b23
mov edx, dword [esp + 0x50]
push edx
add eax, 0x13c
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [esp + 0x50]
push eax
lea ecx, [edi + 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, dword [esp + 0x3c]
test eax, 0x4000
je 0x492b46
mov edx, 0x4000
or word [edi + 0x38], dx
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne 0x492b65
cmp dword [esp + 0x5c], edx
je 0x492b5f
test eax, 0x2100
je 0x492b65
mov byte [edi + 0x41], 1
jmp 0x492b69
mov byte [edi + 0x41], 0
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x10]
or eax, dword [edi + 0x14]
je 0x492dcc
cmp byte [ebx + 0x484], 0
je 0x492be6
cmp dword [ebx + 0x348], 0
jbe 0x492be6
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0xc]
push ecx
push edx
push ebx
push esi
call fcn.00488570
mov eax, dword [ebx + 0x324]
mov edx, dword [esp + 0x24]
xor ecx, ecx
add esp, 0x10
cmp byte [esi + 0x4ba], cl
setne cl
lea ecx, [ecx*4 + 0x10]
imul ecx, dword [ebx + 0x434]
sub eax, ecx
mov ecx, dword [edx + 0x140]
cmp ecx, eax
jbe 0x492be6
sub ecx, eax
xor eax, eax
jg 0x492dcc
jl 0x492be6
test ecx, ecx
ja 0x492dcc
cmp dword [esp + 0x20], 0
jne 0x492e25
mov esi, dword [esp + 0x4c]
mov eax, dword [esi + 0x154]
cmp eax, dword [esi + 0x158]
jbe 0x492c25
cmp byte [ebx + 0x4a7], 0
jne 0x492c25
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push 1
push 0x69f68c
call edi
mov dword [esp + 0x58], 1
jmp 0x492c5c
cmp byte [ebx + 0x49f], 0
mov edi, dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
je 0x492c5c
push 1
push 0x69f62c
call edi
mov ecx, dword [esi + 0x94]
add ecx, ecx
cmp dword [esi + 0x154], ecx
jbe 0x492c55
mov dword [esp + 0x58], 1
mov byte [ebx + 0x49f], 0
mov esi, dword [esp + 0x6c]
mov eax, dword [esi + 0xc8]
and eax, 0x100
xor ecx, ecx
or eax, ecx
jne 0x492cac
mov eax, dword [ebx + 0x35c]
test eax, eax
jbe 0x492cac
cmp dword [ebx + 0x33c], 0x100
jae 0x492cac
mov edx, dword [ebx + 0x324]
sub edx, eax
mov eax, dword [ebx + 0x2b8]
sub eax, 0x20
cmp edx, eax
jge 0x492cac
push 1
push 0x69f624
call edi
mov eax, 1
jmp 0x492cb7
push 1
push 0x69f620
call edi
xor eax, eax
cmp dword [esp + 0x58], 0
jne 0x492cd3
test eax, eax
jne 0x492cd3
mov ecx, dword [esp + 0xc]
push 1
push eax
push ecx
push esi
call fcn.0048dd70
add esp, 0x10
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov edi, dword [ebx + 0x324]
xor edx, edx
cmp byte [eax + 0x4ba], dl
setne dl
add esi, 0x10c
push esi
lea edx, [edx*4 + 0x10]
imul edx, dword [ebx + 0x434]
sub edi, edx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0x140]
mov ecx, dword [0x69f7a8]
cmp ecx, eax
jb 0x492d1f
mov ecx, eax
add ecx, edi
cmp eax, ecx
ja 0x492dc1
mov eax, dword [esp + 0xc]
lea edx, [esp + 0x68]
mov dword [esp + 0x68], 0
mov dword [eax + 0x28], edx
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x14]
add eax, 0xe8
call fcn.00460980
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
jne 0x492d82
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x60]
test ax, ax
je 0x492d74
movzx edi, ax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x68]
test eax, eax
je 0x492d82
mov edi, eax
mov dword [esp + 0x10], edi
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0xc]
add eax, 0x57c
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x28], 0
test dword [ebx], 0xa00
jne 0x49227e
test edi, edi
je 0x492dc8
mov ecx, dword [esp + 0x40]
mov byte [ecx + 0x46], 0
jmp 0x493338
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0x1c]
mov edx, dword [edi + 0x10]
mov dword [esp + 0x28], edx
mov edx, dword [edi + 0x14]
test edx, edx
jg 0x4929f0
jl 0x492deb
cmp dword [esp + 0x28], 0
ja 0x4929f0
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x1c]
mov eax, dword [ebx + 0x1ec]
add eax, dword [esp + 0x78]
cmp byte [edi + 0x41], 0
jne 0x492e67
mov byte [eax + 0x2e], 1
cmp byte [ebx + 0x48a], 0
jne 0x492e76
mov ax, word [esp + 0x7c]
mov byte [ebx + 0x468], 1
mov word [ebx + 0x462], ax
jmp 0x492e76
mov eax, dword [esp + 0x40]
mov byte [eax + 0x46], 0
jmp 0x493227
mov eax, esi
call fcn.004653c0
mov edx, dword [esp + 0x40]
mov byte [edx + 0x46], 0
jmp 0x493338
mov eax, esi
call fcn.004653c0
mov edi, dword [ebx]
and edi, 0x800
neg edi
sbb edi, edi
and edi, 0xfffffffd
add edi, 0x2749
jmp 0x493338
mov byte [edi + 0x43], 1
mov byte [eax + 0x2e], 0
mov byte [ebx + 0x468], 0
mov eax, dword [esp + 0x3c]
mov byte [edi + 0x46], 0
mov edx, dword [ecx + 0x10]
or edx, dword [ecx + 0x14]
jne 0x492e8e
mov dword [esp + 0x24], 1
test eax, 0x100
je 0x493227
cmp dword [esp + 0x24], 0
je 0x493227
push 1
push 0x69f668
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [ebx + 0x1bc], 0
mov dword [esp + 0x10], 0
jne 0x49311f
cmp dword [ebx + 0x1b4], 0
jne 0x49311f
mov esi, dword [esp + 0xc]
push esi
call fcn.0047c770
add esp, 4
test eax, eax
jne 0x49311f
mov eax, dword [ebx + 0x280]
push ebx
push esi
call eax
add esp, 8
test eax, eax
jne 0x493186
mov eax, dword [ebx]
and eax, 0x7f
cmp eax, 0x10
je 0x493227
cmp eax, 0x20
je 0x493227
cmp eax, 0x40
je 0x493227
cmp eax, 8
jne 0x492f2f
push 0xffffffffffffffff
push 0x69f484
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov ecx, dword [ebx]
mov esi, dword [esp + 0xc]
and ecx, 0xffffff10
or ecx, 0x10
push esi
mov dword [ebx], ecx
call fcn.00474100
mov edi, dword [ebx + 0x1f8]
add esp, 4
test edi, edi
jne 0x492f59
mov edi, dword [ebx + 0x1f4]
push edi
push esi
call fcn.0048cdf0
mov esi, dword [esi + 4]
add esp, 8
test dword [ebx], 0x200
mov dword [esp + 0x24], esi
jne 0x493041
test edi, edi
je 0x492f87
test byte [edi + 0x1a4], 8
jne 0x493041
test esi, esi
je 0x493041
test edi, edi
je 0x493041
mov eax, dword [edi + 0xc0]
lea esi, [edi + 0xc4]
test eax, eax
jne 0x492fb1
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x424]
test byte [esi + 0x14], 4
mov dword [esp + 0x18], eax
jne 0x493041
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xc]
mov dword [esi + 0x30], 0
mov dword [esi + 0x18], 4
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], esi
call fcn.00464be0
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x18]
push esi
push eax
call fcn.00464c10
add esp, 8
test eax, eax
jne 0x493041
cmp dword [esi + 0x1c], eax
je 0x493013
mov ecx, dword [esp + 0x24]
push 1
add ecx, 0x2b0
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [esi + 0x20], 0
je 0x49302c
mov edx, dword [esp + 0xc]
push 1
add edx, 0x460
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [esi + 0x24], 0
je 0x493041
push 1
add edi, 0x150
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
test dword [ebx], 0x200
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 4]
jne 0x493227
test edi, edi
je 0x493227
mov ecx, eax
mov eax, dword [edi + 0x134]
lea esi, [ecx + 0x11c]
test eax, eax
jne 0x49308e
mov eax, dword [ecx + 0x42c]
cmp eax, 0x33333333
jae 0x493084
lea ecx, [eax + eax*4]
mov dword [esp + 0x24], ecx
jmp 0x493092
mov dword [esp + 0x24], 0xffffffff
jmp 0x493092
mov dword [esp + 0x24], eax
test byte [esi + 0x14], 4
jne 0x493227
mov edx, dword [esp + 0xc]
xor eax, eax
mov dword [esi + 0x30], eax
mov dword [esi + 0x18], 0xb
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], esi
call fcn.00464be0
mov dword [esi + 0x2c], eax
mov eax, dword [esp + 0x24]
push esi
push eax
call fcn.00464c10
add esp, 8
test eax, eax
jne 0x493227
cmp dword [esi + 0x1c], eax
je 0x4930ea
push 1
add edi, 0x2b0
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [esi + 0x20], 0
je 0x493103
mov ecx, dword [esp + 0xc]
push 1
add ecx, 0x460
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [esi + 0x24], 0
je 0x493227
push 1
push 0x150
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
jmp 0x493227
mov eax, dword [ebx]
and eax, 0x7f
cmp eax, 0x10
je 0x493227
cmp eax, 0x20
je 0x493227
cmp eax, 0x40
je 0x493227
mov esi, dword [esp + 0xc]
mov edx, dword [ebx + 0x280]
push ebx
push esi
call edx
add esp, 8
test eax, eax
je 0x49315a
or dword [ebx], 0x400
or dword [ebx], 0x80
cmp dword [ebx + 0x1bc], 0
jne 0x49320d
cmp dword [ebx + 0x1b4], 0
jne 0x49320d
test dword [ebx], 0x400
je 0x49320d
mov eax, dword [esp + 0x64]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
push str.sctp_lower_sosend
push 0x3993
push str....._third_partieswebrtc_sctp_netinet_sctp_output.c
push str._s:_d_at__s
push 0xffffffffffffffff
lea ecx, [esp + 0xc4]
push pe_nt_image_headers32
push ecx
call fcn.005c1fa7
add esp, 0x1c
test eax, eax
jge 0x4931ca
mov byte [esp + 0xb0], 0
movzx eax, word [0x69f82c]
lea edx, [esp + 0xb0]
push edx
push eax
call fcn.0047a3c0
mov ecx, dword [esi + 4]
push 1
push 0
push eax
push esi
push ecx
call fcn.004795e0
mov edi, 0x2745
add esp, 0x1c
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1a8]
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0xcc]
and dword [eax + 0xc8], 0xfffffeff
mov dword [eax + 0xcc], edx
mov esi, dword [esp + 0x4c]
mov ecx, dword [esi + 0x154]
xor eax, eax
cmp dword [ebx + 0x1a4], eax
setne al
mov dword [esp + 0x64], eax
cmp ecx, dword [esi + 0x158]
jbe 0x493268
cmp byte [ebx + 0x4a7], 0
jne 0x493268
push 1
push 0x69f68c
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov dword [esp + 0x58], 1
jmp 0x49329d
cmp byte [ebx + 0x49f], 0
je 0x49329d
push 1
push 0x69f62c
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov edx, dword [esi + 0x94]
add edx, edx
cmp dword [esi + 0x154], edx
jbe 0x493296
mov dword [esp + 0x58], 1
mov byte [ebx + 0x49f], 0
mov esi, dword [esp + 0x6c]
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebx + 0x35c]
mov edi, dword [ebx + 0x324]
and eax, 0x100
xor edx, edx
sub edi, ecx
or eax, edx
jne 0x4932f1
test ecx, ecx
jbe 0x4932f1
cmp dword [ebx + 0x33c], 0x100
jae 0x4932f1
mov eax, dword [ebx + 0x2b8]
sub eax, 0x20
cmp edi, eax
jge 0x4932f1
push 1
push 0x69f624
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
mov eax, 1
jmp 0x493300
push 1
push 0x69f620
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
xor eax, eax
cmp dword [esp + 0x58], 0
jne 0x4933c1
test eax, eax
jne 0x4933a1
cmp dword [ebx + 0x314], eax
je 0x4933aa
test edi, edi
je 0x4933a1
mov ecx, dword [esp + 0xc]
push 1
push eax
push ecx
push esi
call fcn.0048dd70
add esp, 0x10
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
test esi, esi
je 0x49338a
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x493364
mov eax, dword [esp + 0x30]
neg eax
push eax
lea ecx, [ebx + 0x32c]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
cmp dword [esp + 0x88], 0
je 0x49337d
push 0xffffffffffffffff
add ebx, 0x430
push ebx
call dword [sym.imp.KERNEL32.dll_InterlockedExchangeAdd]
add esi, 0x57c
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x1b4]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x314], 0
jne 0x4933c1
cmp dword [ebx + 0x35c], 0
jne 0x4933c1
mov edx, dword [esp + 0xc]
push 1
push 0
push edx
jmp 0x49332b
cmp dword [esp + 0x64], 0
je 0x493334
mov edi, dword [esp + 0xc]
mov ecx, edi
call fcn.00488640
push eax
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x30]
push ecx
push 1
push 1
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x30]
push eax
push ebx
push edi
push esi
call fcn.0048b090
add esp, 0x28
jmp 0x493334