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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x88
mov byte [0x5c106c], 1
call fcn.004df0e0
mov ecx, dword [0x5c1064]
mov dword [0x5c1074], edx
mov dword [0x5c1070], eax
mov dword [esp + 4], ecx
call fcn.004fb4c0
mov eax, dword [0x5c1060]
cmp dword [eax], 0xffffffff
jne 0x41d60c
lea eax, [esp + 0x10]
push eax
call fcn.004362b0
add esp, 4
test eax, eax
je 0x41c202
call fcn.004ddb30
cmp eax, 6
jle 0x41d6ac
push 0
push dword [esp + 0x14]
call fcn.00436700
add esp, 8
test al, al
je 0x41c226
push 0
push dword [esp + 0x18]
call fcn.00436700
add esp, 8
test al, al
jne 0x41c234
call fcn.004ddb30
cmp eax, 6
jle 0x41d65c
mov edi, dword [0x5c1060]
mov ebx, dword [esp + 0x10]
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [eax]
mov eax, dword [edi]
cmp eax, 0xffffffff
je 0x41c256
push eax
call fcn.0041a210
add esp, 4
mov dword [edi], ebx
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], esi
push 0
push 0x41dad0
push dword [esp + 0x1c]
call fcn.0041b3a0
add esp, 0xc
mov edi, eax
call fcn.0041b260
movzx eax, byte [edi + 0x10]
or eax, 1
push eax
push edi
call fcn.0041bc30
add esp, 8
mov ecx, dword [esp + 4]
call fcn.004fb560
call 0x41d800
mov al, byte [0x5c1098]
test al, 1
jne 0x41d452
lea ebx, [esp + 0x24]
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
jmp 0x41c5f0
call fcn.004ddb30
cmp eax, 4
jle 0x41c44d
mov esi, dword [esp + 0x24]
lea ebx, [esp + 0x24]
test esi, esi
jne 0x41c7df
jmp 0x41c7ec
call fcn.004ddb30
cmp eax, 1
jg 0x41c5ff
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
mov ecx, ebx
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x204
push 0x586fa4
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
mov esi, eax
push str.________waiting_for_events
lea eax, [esp + 0x14]
push eax
call fcn.004deac0
add esp, 8
movzx eax, byte [esp + 0x10]
test al, 1
je 0x41c535
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x41c53b
call fcn.004ddb30
cmp eax, 1
jg 0x41c67b
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
lea esi, [esp + 0x64]
mov ecx, esi
mov dword [esp + 4], eax
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x124
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov esi, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
cmp ebx, edi
je 0x41c444
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x18], 0
movzx eax, word [ebx + 4]
test eax, 0x300
je 0x41c3e4
lea ecx, [esp + 0x10]
push 0x587138
call fcn.00555840
movzx eax, word [ebx + 4]
test al, 0x10
je 0x41c3f6
lea ecx, [esp + 0x10]
push 0x58713a
call fcn.00555840
mov eax, dword [ebx]
test byte [esp + 0x10], 1
lea ecx, [esp + 0x11]
je 0x41c407
mov ecx, dword [esp + 0x18]
push ecx
push eax
push str.__d__s_
lea eax, [esp + 0x4c]
push eax
call fcn.004deb00
add esp, 0x10
test byte [esp + 0x10], 1
je 0x41c42e
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
add ebx, 8
cmp edi, ebx
jne 0x41c3af
test byte [esp + 0x40], 1
jne 0x41c571
lea eax, [esp + 0x41]
jmp 0x41c575
mov ebx, dword [sym.imp.msvcrt.dll__errno]
call ebx
mov esi, dword [eax]
call ebx
lea edi, [esp + 0x10]
mov ecx, edi
push dword [eax]
push 0
push 4
push 0
push 0x130
push 0x586fa4
call fcn.004ddb50
mov ecx, edi
call fcn.004ddb40
push 0xe
push str.poll____ret_
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, eax
push 0xffffffffffffffff
call fcn.0055fe90
mov ecx, edi
call fcn.004ddc40
call ebx
mov dword [eax], esi
jmp 0x41c2ce
push 0x5c1080
call fcn.004dfcb0
add esp, 4
test eax, eax
je 0x41c80f
push 0x14
call fcn.004fc150
add esp, 4
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0x3f800000
mov dword [0x5c107c], eax
push 0x5c1080
call fcn.004dfd40
add esp, 4
jmp 0x41c80f
push 0x5c1088
call fcn.004dfcb0
add esp, 4
test eax, eax
je 0x41c81c
call fcn.004dc140
mov dword [0x5c10a4], edx
mov dword [0x5c10a0], eax
push 0x5c1088
call fcn.004dfd40
add esp, 4
jmp 0x41c81c
shr eax, 1
lea ecx, [esp + 0x11]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x10], 1
je 0x41c559
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
lea ebx, [esp + 0x24]
mov ecx, ebx
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], edi
jmp 0x41c5ff
mov eax, dword [esp + 0x48]
push eax
push str.poll____pollfds___s
lea eax, [esp + 0x3c]
push eax
call fcn.004deac0
add esp, 0xc
movzx eax, byte [esp + 0x34]
test al, 1
je 0x41c59b
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
jmp 0x41c5a1
shr eax, 1
lea ecx, [esp + 0x35]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x34], 1
je 0x41c5bf
push dword [esp + 0x3c]
call fcn.004fc300
add esp, 4
test byte [esp + 0x40], 1
je 0x41c5d2
push dword [esp + 0x48]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x64]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [esp + 4]
mov dword [eax], ecx
jmp 0x41c67b
mov eax, dword [0x5bc570]
test byte [eax + 1], 8
jne 0x41c2e3
mov eax, dword [0x5c1058]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x41d460
xor ecx, ecx
xor eax, eax
jmp 0x41c638
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
lea edx, [esi + 0x10]
cmp eax, ecx
je 0x41c650
movsd xmm0, qword [edx]
movsd qword [eax], xmm0
add dword [esp + 0x28], 8
jmp 0x41c658
mov ecx, ebx
push edx
call fcn.005751c0
mov esi, dword [esi]
test esi, esi
jne 0x41c630
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x24]
je 0x41d460
mov eax, dword [0x5bc570]
test byte [eax + 1], 8
jne 0x41c347
call fcn.004e2710
mov dword [esp + 0x1c], eax
mov dword [esp + 8], edx
call fcn.0041b260
mov eax, dword [0x5c1058]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x41c790
mov dword [esp + 4], 0
mov dword [esp + 0xc], 0
nop dword [eax]
mov ecx, dword [ebx + 0xc]
cmp byte [ecx + 0x20], 0
je 0x41c75f
mov eax, 0xf4240
imul esi, dword [ecx + 0x1c], 0xf4240
mul dword [ecx + 0x18]
add esi, edx
mov edx, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
sub edx, dword [esp + 0x1c]
sbb ecx, dword [esp + 8]
add edx, eax
adc ecx, esi
push 0
push 0xf4240
push ecx
push edx
call fcn.005214b0
add esp, 0x10
test edx, edx
mov ecx, 0
cmovs edx, ecx
cmovs eax, ecx
cmp byte [esp + 0xc], 0
je 0x41c740
mov edi, eax
mov eax, dword [esp + 4]
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
shld esi, ecx, 8
shl ecx, 8
movzx eax, al
or eax, ecx
mov ecx, esi
cmp eax, edi
sbb ecx, edx
cmovge eax, edi
cmovge esi, edx
mov dword [esp + 4], eax
shrd eax, esi, 8
shr esi, 8
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], esi
jmp 0x41c75f
mov ecx, edx
shr edx, 8
shld ecx, eax, 0x18
mov dword [esp + 0x68], edx
mov dword [esp + 0x60], ecx
mov ecx, eax
mov al, 1
mov dword [esp + 0xc], eax
mov eax, ecx
mov dword [esp + 4], eax
mov ebx, dword [ebx]
test ebx, ebx
jne 0x41c6b0
cmp byte [esp + 0xc], 0
je 0x41c790
mov eax, dword [esp + 0x60]
movzx edx, byte [esp + 4]
lea ebx, [esp + 0x24]
shl eax, 8
or edx, eax
jmp 0x41c799
lea ebx, [esp + 0x24]
mov edx, 0xffffffff
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
sub ecx, eax
sar ecx, 3
push edx
push ecx
push eax
call fcn.00433b50
add esp, 0xc
cmp eax, 0xffffffff
je 0x41c2c0
call fcn.004e2710
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], edx
cmp esi, ecx
mov dword [esp + 0x20], ecx
jne 0x41ca80
test esi, esi
je 0x41c7ec
mov dword [esp + 0x28], esi
push esi
call fcn.004fc300
add esp, 4
mov eax, dword [esp + 0x54]
add eax, 1
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x50]
adc eax, 0
mov dword [esp + 0x6c], eax
mov al, byte [0x5c1080]
test al, al
je 0x41c4a6
mov al, byte [0x5c1088]
test al, al
je 0x41c4fe
call fcn.004dc140
mov esi, eax
mov ecx, edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x58], edx
sub esi, dword [0x5c10a0]
sbb ecx, dword [0x5c10a4]
cmp esi, 0x989681
sbb ecx, 0
jl 0x41cbf0
mov esi, dword [0x5c107c]
cmp dword [esi + 0xc], 0
je 0x41c8ad
mov eax, dword [esi + 8]
test eax, eax
je 0x41c871
nop dword [eax + eax]
mov edi, dword [eax]
push eax
call fcn.004fc300
add esp, 4
test edi, edi
mov eax, edi
jne 0x41c860
mov dword [esi + 8], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x41c89e
xor ecx, ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [esi]
mov dword [edx + ecx*4], 0
inc ecx
cmp eax, ecx
jne 0x41c890
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov dword [esi + 0xc], 0
mov dword [0x5c10a0], eax
mov dword [0x5c10a4], edx
jmp 0x41d268
cmp byte [esi + 0x20], 0
je 0x41cbd2
mov eax, 0xf4240
imul ecx, dword [esi + 0x1c], 0xf4240
mul dword [esi + 0x18]
add ecx, edx
add eax, dword [esi + 0x28]
adc ecx, dword [esi + 0x2c]
cmp eax, dword [esp + 0x30]
sbb ecx, dword [esp + 0x4c]
mov ecx, 8
jl 0x41cb7f
jmp 0x41cbd2
mov edi, ecx
call fcn.004ddb30
cmp eax, 1
jg 0x41cbac
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
lea ebx, [esp + 0x40]
mov ecx, ebx
mov dword [esp + 4], eax
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x15d
push 0x586fa4
call fcn.004ddb50
mov ecx, ebx
call fcn.004ddb40
lea ecx, [esp + 0x34]
mov edx, esi
mov ebx, eax
call fcn.0041bae0
test byte [esp + 0x34], 1
lea eax, [esp + 0x35]
je 0x41c955
mov eax, dword [esp + 0x3c]
push edi
push eax
push str._s_got_events__x
lea eax, [esp + 0x1c]
push eax
call fcn.004deac0
add esp, 0x10
movzx eax, byte [esp + 0x10]
test al, 1
je 0x41c9e6
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x41c9ec
call fcn.004ddb30
cmp eax, 1
jg 0x41ca9a
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
mov ebx, esi
lea esi, [esp + 0x34]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x138
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
mov esi, eax
movsx eax, word [ebx + 6]
push eax
push dword [ebx]
push str.for_fd__d__revents___x
lea eax, [esp + 0x1c]
push eax
call fcn.004deac0
add esp, 0x10
movzx eax, byte [esp + 0x10]
test al, 1
je 0x41ca37
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x41ca3d
shr eax, 1
lea ecx, [esp + 0x11]
push eax
push ecx
push ebx
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x10], 1
je 0x41ca0a
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
test byte [esp + 0x34], 1
je 0x41ca1d
push dword [esp + 0x3c]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x40]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [esp + 4]
mov dword [eax], ecx
jmp 0x41cbac
shr eax, 1
lea ecx, [esp + 0x11]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x10], 1
je 0x41ca5b
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x34]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov esi, dword [esp + 0x1c]
mov dword [eax], edi
jmp 0x41ca9a
cmp word [esi + 6], 0
mov dword [esp + 0x1c], esi
je 0x41ca9a
mov eax, dword [0x5bc570]
test byte [eax + 1], 8
jne 0x41c97c
movzx eax, word [esi + 6]
xor ecx, ecx
mov edx, 5
test eax, 0x300
mov dword [esp + 8], eax
setne cl
test al, 7
cmovne ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [0x5c1058]
mov esi, dword [ecx + 4]
test esi, esi
je 0x41d6fc
mov eax, dword [esp + 0x1c]
lea edi, [esi - 1]
test edi, esi
mov ebx, dword [eax]
je 0x41caf0
cmp ebx, esi
mov edx, ebx
jb 0x41caf4
mov eax, ebx
xor edx, edx
div esi
jmp 0x41caf4
mov edx, edi
and edx, ebx
mov eax, dword [ecx]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x41d6fc
mov ecx, dword [eax]
test ecx, ecx
je 0x41d6fc
mov eax, dword [esp + 8]
mov dword [esp + 4], edi
shr eax, 3
and eax, 2
add dword [esp + 0xc], eax
nop dword [eax]
mov eax, dword [ecx + 4]
cmp eax, ebx
jne 0x41cb30
cmp dword [ecx + 8], ebx
jne 0x41cb5d
jmp 0x41cb70
test edi, esi
je 0x41cb53
cmp eax, esi
jb 0x41cb55
mov edi, ebx
mov ebx, edx
xor edx, edx
div esi
mov eax, edx
mov edx, ebx
mov ebx, edi
mov edi, dword [esp + 4]
cmp eax, edx
je 0x41cb5d
jmp 0x41d6fc
and eax, edi
cmp eax, edx
jne 0x41d6fc
mov ecx, dword [ecx]
test ecx, ecx
jne 0x41cb20
jmp 0x41d6fc
mov esi, dword [ecx + 0xc]
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x41c8c0
mov edi, dword [esi + 8]
cmp edi, ebx
jne 0x41d532
or word [esi + 0x12], cx
mov edx, dword [0x5bc570]
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x4c]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edi
test byte [edx + 1], 8
jne 0x41c8f9
or byte [esi + 0x11], 2
mov edi, dword [0x5c105c]
push 0xc
call fcn.004fc150
add esp, 4
mov dword [eax + 8], esi
mov dword [eax + 4], edi
mov ecx, dword [edi]
mov dword [eax], ecx
mov dword [ecx + 4], eax
mov dword [edi], eax
inc dword [edi + 8]
mov esi, dword [esp + 0x1c]
add esi, 8
cmp esi, dword [esp + 0x20]
jne 0x41ca80
jmp 0x41c2ce
mov ecx, dword [0x5c105c]
mov dword [0x5c10a0], eax
mov dword [0x5c10a4], edx
mov esi, dword [ecx + 4]
mov dword [esp + 0x74], ecx
cmp ecx, esi
je 0x41d090
mov eax, dword [esi + 8]
mov dword [esp + 0x30], esi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x4c], eax
imul eax, ecx, 0x5bd1e995
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], edx
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul eax, edx, 0x5bd1e995
mov edx, eax
shr edx, 0x18
xor edx, eax
imul eax, ecx, 0x5bd1e995
xor eax, 0xde8f4ca8
imul ecx, edx, 0x5bd1e995
imul eax, eax, 0x5bd1e995
xor eax, ecx
mov ecx, eax
shr ecx, 0xd
xor ecx, eax
imul eax, ecx, 0x5bd1e995
mov ecx, dword [0x5c107c]
mov ebx, eax
shr ebx, 0xf
xor ebx, eax
mov edi, dword [ecx + 4]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebx
test edi, edi
je 0x41cca0
lea ecx, [edi - 1]
test ecx, edi
je 0x41ccb0
cmp ebx, edi
mov edx, ebx
jb 0x41ccb4
mov eax, ebx
xor edx, edx
div edi
mov ebx, dword [esp + 4]
jmp 0x41ccb4
jmp 0x41cdc0
mov edx, ebx
and edx, ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x20], edx
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov eax, dword [eax + edx*4]
test eax, eax
je 0x41cd36
mov esi, dword [eax]
test esi, esi
je 0x41cd36
nop
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x41cd00
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 4]
xor eax, dword [esp + 0xc]
xor edx, dword [esp + 0x1c]
or edx, eax
jne 0x41cd30
jmp 0x41d071
test ecx, edi
je 0x41cd1a
cmp eax, edi
jb 0x41cd12
xor edx, edx
div edi
mov ebx, dword [esp + 4]
mov eax, edx
cmp eax, dword [esp + 0x20]
je 0x41cd30
jmp 0x41cd36
and eax, ecx
cmp eax, dword [esp + 0x20]
jne 0x41cd36
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esi]
test esi, esi
jne 0x41ccd0
test ecx, edi
je 0x41cd50
cmp ebx, edi
mov edx, ebx
jb 0x41cd54
mov eax, ebx
xor edx, edx
div edi
mov ebx, dword [esp + 4]
jmp 0x41cd54
mov edx, ebx
and edx, ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x20], edx
mov esi, dword [eax + edx*4]
test esi, esi
je 0x41cdc0
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esi]
test esi, esi
je 0x41cdc0
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x41cd9b
test ecx, edi
je 0x41cd93
cmp eax, edi
jb 0x41cd95
xor edx, edx
div edi
mov eax, edx
cmp eax, dword [esp + 0x20]
je 0x41cd9b
jmp 0x41cdc0
and eax, ecx
cmp eax, dword [esp + 0x20]
jne 0x41cdc0
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov ebx, dword [esp + 4]
xor eax, dword [esp + 0xc]
xor edx, dword [esp + 0x1c]
or edx, eax
jne 0x41cd70
jmp 0x41d05c
push 0x28
call fcn.004fc150
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 8]
movq xmm3, qword [0x586f78]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 8], eax
mov eax, dword [esp + 4]
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x1c], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 4], eax
mov dword [esi], 0
mov eax, dword [ecx + 0xc]
movss xmm1, dword [ecx + 0x10]
inc eax
test edi, edi
movd xmm0, eax
por xmm0, xmm3
subsd xmm0, xmm3
cvtsd2ss xmm0, xmm0
je 0x41ce60
movd xmm2, edi
por xmm2, xmm3
subsd xmm2, xmm3
cvtsd2ss xmm2, xmm2
mulss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x41ce60
mov edx, dword [esp + 0x20]
jmp 0x41d000
lea eax, [edi + edi]
mov ebx, 1
cmp edi, 3
jb 0x41ce77
lea ecx, [edi - 1]
xor ebx, ebx
test ecx, edi
setne bl
or ebx, eax
divss xmm0, xmm1
sub esp, 4
movss dword [esp], xmm0
call fcn.0052c6f0
add esp, 4
fstp dword [esp + 0x80]
movss xmm2, dword [0x586f80]
mov edx, 2
movss xmm0, dword [esp + 0x80]
movaps xmm1, xmm0
cvttss2si eax, xmm0
subss xmm1, xmm2
cvttss2si ecx, xmm1
xor ecx, 0x80000000
ucomiss xmm0, xmm2
cmovae eax, ecx
cmp ebx, eax
cmovae eax, ebx
cmp eax, 1
jne 0x41cef0
mov ecx, dword [esp + 8]
cmp edx, edi
jbe 0x41cf0d
mov ecx, dword [esp + 8]
call fcn.0041dca0
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
jmp 0x41cfe0
lea ecx, [eax - 1]
test ecx, eax
je 0x41cf32
push eax
call fcn.004e2c50
add esp, 4
mov ecx, dword [esp + 8]
mov edx, eax
mov edi, dword [ecx + 4]
cmp edx, edi
ja 0x41ced7
movsd xmm1, qword [0x586f78]
mov ebx, dword [esp + 4]
jae 0x41cfe0
cmp edi, 3
mov dword [esp + 0xc], edx
jb 0x41cf3e
lea eax, [edi - 1]
test eax, edi
sete bl
jmp 0x41cf40
mov ecx, dword [esp + 8]
mov edx, eax
cmp edx, edi
ja 0x41ced7
jmp 0x41cf0d
xor ebx, ebx
movss xmm0, dword [ecx + 0xc]
orpd xmm0, xmm1
subsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
divss xmm0, dword [ecx + 0x10]
sub esp, 4
movss dword [esp], xmm0
call fcn.0052c6f0
add esp, 4
fstp dword [esp + 0x7c]
movss xmm2, dword [0x586f80]
movss xmm0, dword [esp + 0x7c]
movaps xmm1, xmm0
cvttss2si eax, xmm0
subss xmm1, xmm2
cvttss2si ecx, xmm1
xor ecx, 0x80000000
ucomiss xmm0, xmm2
cmovae eax, ecx
test bl, bl
je 0x41cfae
cmp eax, 2
jb 0x41cfb7
dec eax
bsr ecx, eax
mov eax, 1
xor ecx, 0x1f
neg cl
shl eax, cl
jmp 0x41cfb7
push eax
call fcn.004e2c50
add esp, 4
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
cmp edx, eax
cmovb edx, eax
cmp edx, edi
jae 0x41cfe0
mov ecx, dword [esp + 8]
call fcn.0041dca0
mov ebx, dword [esp + 4]
mov ecx, dword [esp + 8]
nop dword [eax]
mov edi, dword [ecx + 4]
lea edx, [edi - 1]
test edx, edi
je 0x41cff2
cmp ebx, edi
jae 0x41cff6
mov edx, ebx
jmp 0x41d000
and edx, ebx
jmp 0x41d000
mov eax, ebx
xor edx, edx
div edi
nop dword [eax]
mov ebx, ecx
mov ecx, dword [ecx]
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x41d020
mov ecx, dword [eax]
mov dword [esi], ecx
mov ecx, ebx
jmp 0x41d057
mov eax, dword [ebx + 8]
mov dword [esi], eax
lea eax, [ebx + 8]
mov dword [ebx + 8], esi
mov dword [ecx + edx*4], eax
mov ecx, ebx
mov eax, dword [esi]
test eax, eax
je 0x41d059
mov eax, dword [eax + 4]
lea ecx, [edi - 1]
test ecx, edi
je 0x41d04c
cmp eax, edi
jb 0x41d04e
xor edx, edx
div edi
mov eax, edx
jmp 0x41d04e
and eax, ecx
mov ecx, dword [esp + 8]
shl eax, 2
add eax, dword [ecx]
mov dword [eax], esi
inc dword [ecx + 0xc]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov dword [esi + 0x10], eax
mov dword [esi + 0x18], edx
mov dword [esi + 0x1c], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ecx
mov esi, dword [esp + 0x30]
mov esi, dword [esi + 4]
cmp dword [esp + 0x74], esi
jne 0x41cc10
mov eax, dword [0x5c107c]
lea ebx, [esp + 0x24]
mov edi, dword [eax + 8]
test edi, edi
jne 0x41d200
jmp 0x41d268
mov edx, dword [0x5c107c]
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov ebx, dword [edx + 4]
lea ecx, [ebx - 1]
mov dword [esp + 0x1c], ebx
test ecx, ebx
mov dword [esp + 8], ecx
je 0x41d0dd
cmp eax, ebx
jb 0x41d0df
mov ecx, edx
xor edx, edx
div ebx
mov eax, edx
mov edx, ecx
jmp 0x41d0df
and eax, ecx
mov ecx, dword [edx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + eax*4]
mov dword [esp + 0x20], ecx
nop dword [eax]
mov ebx, eax
mov eax, dword [eax]
cmp eax, edi
jne 0x41d0f0
lea eax, [edx + 8]
mov dword [esp + 4], esi
cmp ebx, eax
je 0x41d134
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 8]
mov eax, dword [ebx + 4]
test esi, ecx
je 0x41d126
cmp eax, ecx
jb 0x41d128
mov dword [esp + 0x30], edx
xor edx, edx
div ecx
mov eax, edx
mov edx, dword [esp + 0x30]
jmp 0x41d128
and eax, esi
mov esi, dword [esp + 4]
cmp eax, dword [esp + 0xc]
mov ecx, esi
je 0x41d191
test esi, esi
je 0x41d180
mov eax, dword [esp + 4]
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 8]
mov eax, dword [eax + 4]
test esi, edx
je 0x41d15f
cmp eax, edx
mov edx, eax
jb 0x41d163
xor edx, edx
mov esi, eax
div dword [esp + 0x1c]
mov eax, esi
jmp 0x41d163
mov edx, eax
and edx, esi
cmp edx, dword [esp + 0xc]
mov edx, ecx
jne 0x41d180
mov ecx, dword [esp + 4]
jmp 0x41d198
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x20]
mov dword [ecx + eax*4], 0
mov ecx, dword [edi]
test ecx, ecx
je 0x41d1cd
mov eax, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 8]
test eax, esi
je 0x41d1ef
mov eax, dword [esp + 0x20]
cmp eax, esi
jb 0x41d1be
mov dword [esp + 0x30], edx
xor edx, edx
div esi
mov eax, edx
mov edx, dword [esp + 0x30]
cmp eax, dword [esp + 0xc]
je 0x41d1cd
mov esi, dword [edx]
mov ecx, eax
mov dword [esi + ecx*4], ebx
mov ecx, dword [edi]
mov dword [ebx], ecx
mov dword [edi], 0
dec dword [edx + 0xc]
push edi
call fcn.004fc300
add esp, 4
mov edi, dword [esp + 4]
lea ebx, [esp + 0x24]
test edi, edi
jne 0x41d200
jmp 0x41d268
mov esi, dword [esp + 0x20]
and esi, eax
mov eax, esi
cmp eax, dword [esp + 0xc]
jne 0x41d1c4
jmp 0x41d1cd
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
xor eax, dword [esp + 0x54]
xor ecx, dword [esp + 0x50]
or ecx, eax
jne 0x41d0b0
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
sub eax, dword [edi + 0x18]
sbb ecx, dword [edi + 0x1c]
cmp eax, 0xd964b801
sbb ecx, 0x45
jge 0x41d74c
mov edi, dword [edi]
test edi, edi
jne 0x41d200
jmp 0x41d268
mov edx, dword [0x58737c]
mov esi, dword [0x587378]
add ecx, 0x30
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
push ecx
lea ecx, [esp + 0x38]
push ecx
call dword [esp + eax*4 + 0x18]
add esp, 8
mov eax, dword [0x5c105c]
cmp dword [eax + 8], 0
je 0x41d420
mov ecx, dword [eax + 4]
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
mov esi, dword [ecx + 8]
mov dword [edx + 4], edi
mov edx, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [edi], edx
dec dword [eax + 8]
push ecx
call fcn.004fc300
add esp, 4
mov dword [esp + 0x40], esi
movzx eax, word [esi + 0x12]
mov dword [esp + 0x64], eax
mov word [esi + 0x12], 0
movzx eax, word [esi + 0x10]
test eax, 0x200
je 0x41d2ef
mov ecx, dword [0x5bc570]
and eax, 0xfdff
mov word [esi + 0x10], ax
test byte [ecx + 1], 8
jne 0x41d347
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x40]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x64]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x34]
cmp eax, 0xffffffff
jne 0x41d240
jmp 0x41d747
lea esi, [esp + 0x10]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x16a
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
push 0x26
push str.Check_failed:_fde__state__FDE_PENDING
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x586fde
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, esi
call fcn.004ddc40
mov esi, dword [esp + 0x40]
movzx eax, word [esi + 0x10]
jmp 0x41d2b5
call fcn.004ddb30
cmp eax, 1
jg 0x41d2ca
call dword [sym.imp.msvcrt.dll__errno]
mov edi, dword [eax]
lea esi, [esp + 0x34]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 1
push 0
push 0x16c
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
mov edx, dword [esp + 0x40]
mov ecx, ebx
mov esi, eax
call fcn.0041bae0
test byte [esp + 0x24], 1
lea eax, [esp + 0x25]
je 0x41d39d
mov eax, dword [esp + 0x2c]
push eax
push str.fdevent_call_fdfunc__s
lea eax, [esp + 0x18]
push eax
call fcn.004deac0
add esp, 0xc
movzx eax, byte [esp + 0x10]
test al, 1
je 0x41d3c3
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x41d3c9
shr eax, 1
lea ecx, [esp + 0x11]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x10], 1
je 0x41d3e7
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
test byte [esp + 0x24], 1
je 0x41d3fa
push dword [esp + 0x2c]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x34]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
lea ebx, [esp + 0x24]
mov dword [eax], edi
jmp 0x41d2ca
cmp byte [0x5c1078], 1
jne 0x41d435
call 0x41d800
mov byte [0x5c1078], 0
mov al, byte [0x5c1098]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
test al, 1
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], ecx
je 0x41c5f0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea esi, [esp + 0x10]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x123
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
push 0xe
push 0x586fc0
push eax
call fcn.0056cec0
add esp, 0xc
push 0xe
push str.pollfds.size__
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x586fde
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x587271
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x586fde
push eax
call fcn.0056cec0
add esp, 0xc
push 2
push 0x587273
push eax
call fcn.0056cec0
add esp, 0xc
push 0x11
push str.__pollfds.size__
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, eax
push 0
call fcn.005600f0
push 5
push 0x587288
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, eax
push 0
call fcn.005600f0
push 2
push 0x587032
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, esi
call fcn.004ddc40
jmp 0x41d460
lea esi, [esp + 0x10]
nop word cs:[eax + eax]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x15a
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
push 0xe
push 0x586fc0
push eax
call fcn.0056cec0
add esp, 0xc
push 0xd
push str.fde__fd.get__
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x586fde
push eax
call fcn.0056cec0
add esp, 0xc
push 2
push 0x586fe0
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x586fde
push eax
call fcn.0056cec0
add esp, 0xc
push 9
push str.pollfd.fd
push eax
call fcn.0056cec0
add esp, 0xc
push 0x10
push str.__fde__fd.get__
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, eax
push edi
call fcn.0055fe90
push 0xc
push str.__pollfd.fd
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, eax
push ebx
call fcn.0055fe90
push 2
push 0x587032
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, esi
call fcn.004ddc40
jmp 0x41d540
lea edi, [esp + 0x10]
mov ecx, edi
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x19e
push 0x586fa4
call fcn.004ddb50
mov ecx, edi
call fcn.004ddb40
push 0x2d
push str.Check_failed:_run_queue_notify_fd.get_____1
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x586fde
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, edi
call fcn.004ddc40
jmp 0x41c1e3
mov esi, dword [sym.imp.msvcrt.dll__errno]
call esi
mov ebx, dword [eax]
call esi
lea edi, [esp + 0x24]
mov ecx, edi
push dword [eax]
push 0
push 6
push 0
push 0x1a5
push 0x586fa4
call fcn.004ddb50
mov ecx, edi
call fcn.004ddb40
push 0x32
push str.failed_to_make_run_queue_notify_socket_nonblocking
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, edi
call fcn.004ddc40
call esi
mov dword [eax], ebx
jmp 0x41c234
mov esi, dword [sym.imp.msvcrt.dll__errno]
call esi
mov ebx, dword [eax]
call esi
lea edi, [esp + 0x24]
mov ecx, edi
push dword [eax]
push 0
push 6
push 0
push 0x1a1
push 0x586fa4
call fcn.004ddb50
mov ecx, edi
call fcn.004ddb40
push 0x2c
push str.failed_to_create_run_queue_notify_socketpair
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, edi
call fcn.004ddc40
call esi
mov dword [eax], ebx
jmp 0x41c202
lea esi, [esp + 0x10]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 6
push 0
push 0x14c
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
push 0x29
push str.Check_failed:_it___g_poll_node_map.end__
push eax
call fcn.0056cec0
add esp, 0xc
push 1
push 0x586fde
push eax
call fcn.0056cec0
add esp, 0xc
mov ecx, esi
call fcn.004ddc40
call fcn.0056d390
call fcn.004ddb30
cmp eax, 5
jg 0x41d7ec
call dword [sym.imp.msvcrt.dll__errno]
mov ebx, dword [eax]
lea esi, [esp + 0x24]
mov ecx, esi
push 0xffffffffffffffff
push 0
push 5
push 0
push 0x1e8
push 0x586fa4
call fcn.004ddb50
mov ecx, esi
call fcn.004ddb40
push 0x1a
push str.detected_spin_in_fdevent:
push eax
call fcn.0056cec0
add esp, 0xc
mov edx, dword [edi + 0x10]
lea ecx, [esp + 0x10]
mov esi, eax
call fcn.0041bae0
movzx eax, byte [esp + 0x10]
test al, 1
je 0x41d7b7
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
jmp 0x41d7bd
shr eax, 1
lea ecx, [esp + 0x11]
push eax
push ecx
push esi
call fcn.0056cec0
add esp, 0xc
test byte [esp + 0x10], 1
je 0x41d7db
push dword [esp + 0x18]
call fcn.004fc300
add esp, 4
lea ecx, [esp + 0x24]
call fcn.004ddc40
call dword [sym.imp.msvcrt.dll__errno]
mov dword [eax], ebx
call sub.msvcrt.dll_abort
nop word cs:[eax + eax]
nop dword [eax + eax]
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x38
lea ebx, [esp + 0x18]
mov edi, dword [0x5c1064]
mov dword [esp + 0x28], 0
mov ecx, edi
call fcn.004fb4c0
mov eax, dword [0x5c1068]
cmp dword [eax + 0x14], 0
je 0x41d870
mov ecx, dword [eax + 0x10]
mov esi, dword [eax + 4]
mov edx, 0xc0c0c0c1
mov eax, ecx
mul edx
shr edx, 7
mov eax, dword [esi + edx*4]
imul edx, edx, 0xaa
sub ecx, edx
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + edx*8 + 0x10]
test ecx, ecx
je 0x41d890
lea eax, [eax + edx*8]
cmp eax, ecx
je 0x41d89a
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x10], eax
jmp 0x41d8a8
mov ecx, edi
call fcn.004fb560
mov esi, 3
jmp 0x41d968
mov dword [esp + 0x10], 0
jmp 0x41d8a8
mov eax, esp
mov dword [esp + 0x10], eax
mov edx, eax
mov eax, dword [ecx]
push edx
call dword [eax + 0xc]
mov esi, esp
mov ecx, esi
push ebx
call fcn.0054fdd0
mov ecx, dword [esp + 0x10]
cmp esi, ecx
je 0x41d8d0
test ecx, ecx
je 0x41d8d5
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x41d8d5
mov eax, dword [ecx]
call dword [eax + 0x10]
mov esi, dword [0x5c1068]
mov edx, 0xc0c0c0c1
mov ecx, dword [esi + 0x10]
mov ebx, dword [esi + 4]
mov eax, ecx
mul edx
shr edx, 7
mov eax, dword [ebx + edx*4]
imul edx, edx, 0xaa
sub ecx, edx
lea ecx, [ecx + ecx*2]
lea edx, [eax + ecx*8]
mov ecx, dword [eax + ecx*8 + 0x10]
cmp edx, ecx
je 0x41d920
test ecx, ecx
je 0x41d925
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x41d925
mov eax, dword [ecx]
call dword [eax + 0x10]
dec dword [esi + 0x14]
lea ebx, [esp + 0x18]
mov eax, dword [esi + 0x10]
inc eax
cmp eax, 0x154
mov dword [esi + 0x10], eax
jb 0x41d952
mov eax, dword [esi + 4]
push dword [eax]
call fcn.004fc300
add esp, 4
add dword [esi + 4], 4
add dword [esi + 0x10], 0xffffff56
mov ecx, edi
call fcn.004fb560
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x41d9a5
mov eax, dword [ecx]
call dword [eax + 0x18]
xor esi, esi
mov ecx, dword [esp + 0x28]
cmp ebx, ecx
je 0x41d990
test ecx, ecx
je 0x41d979
mov eax, dword [ecx]
call dword [eax + 0x14]
test esi, esi
je 0x41d810
jmp 0x41d99d
mov eax, dword [ecx]
call dword [eax + 0x10]
test esi, esi
je 0x41d810
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0056d380
nop word [eax + eax]
mov al, 1
xchg byte [0x5c1098], al
ret