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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov esi, ecx
mov eax, dword [0x101b9014]
xor eax, ebp
mov dword [esp + 0x78], eax
mov eax, 0x80000000
mov ecx, 1
mov edx, dword [ebp + 0xc]
lea edi, [eax - 1]
mov dword [esp + 0x34], edx
xor edi, edx
mov eax, dword [ebp + 8]
add ecx, 0xfffffffe
mov dword [esp + 0x30], eax
xor ecx, eax
mov dword [esp + 0x38], ecx
mov eax, ecx
mov dword [esp + 0x3c], edi
or eax, edi
mov dword [esp + 0x6c], 4
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x2c], esi
jne 0x1008059b
mov dword [esp + 0x68], 0xffffffff
jmp 0x10080688
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov edx, ecx
or edx, eax
jne 0x100805ce
mov ecx, dword [0x101bac60]
call dword [section..00cfg]
lea eax, [esp + 0x40]
mov dword [esp], eax
call ecx
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov edi, dword [esp + 0x30]
sub edi, ecx
mov ecx, dword [esp + 0x34]
sbb ecx, eax
seto al
mov ebx, ecx
sar ebx, 0x1f
test al, al
cmovne edi, ebx
add ebx, 0x80000000
test al, al
cmove ebx, ecx
mov eax, edi
mov ecx, 1
add eax, ecx
mov ecx, ebx
mov edx, 0x80000000
adc ecx, edx
cmp eax, 2
sbb ecx, 0
jb 0x1008065b
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3e8
call fcn.10146d60
sub esp, 0x10
mov dword [esp + 0x24], eax
mov ecx, edx
mov edx, 0x3e8
mov eax, dword [esp + 0x24]
mul edx
imul esi, ecx, 0x3e8
add esi, edx
cmp eax, edi
sbb esi, ebx
mov esi, dword [esp + 0x2c]
setl al
movzx edi, al
add edi, dword [esp + 0x24]
adc ecx, 0
mov ebx, ecx
test ebx, ebx
jne 0x100809bd
mov dword [esp + 0x68], edi
test edi, edi
jne 0x10080688
jmp 0x100809aa
test esi, esi
jne 0x10080854
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x68], ebx
test ebx, ebx
je 0x100809aa
mov eax, dword [esi + 8]
mov edi, dword [eax]
mov eax, dword [edi]
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
lea eax, [esp + 0x68]
mov dword [esp], eax
call fcn.10012050
lea eax, [esp + 0x6c]
mov dword [esp], eax
call fcn.10012050
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x1cff
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjectsEx]
sub esp, 0x14
test eax, eax
jne 0x10080788
mov eax, dword [esi + 8]
mov edi, dword [eax]
mov eax, dword [edi]
mov ebx, dword [eax + 0x10]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
test byte [0x101bb3d8], 0x19
jne 0x10080860
mov dword [esp], 0x40
call dword [sym.imp.USER32.dll_GetQueueStatus]
sub esp, 4
test eax, 0x400000
jne 0x10080995
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x4c], xmm0
movdqa xmmword [esp + 0x40], xmm0
test byte [0x101bb3d8], 0x19
jne 0x100808fa
pxor xmm0, xmm0
movdqu xmmword [esp + 4], xmm0
lea eax, [esp + 0x40]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_PeekMessageW]
sub esp, 0x14
test eax, eax
jne 0x10080995
mov dword [esp + 0x6c], 0
test edi, edi
je 0x10080788
mov eax, dword [edi]
mov ebx, dword [eax + 0x14]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
mov ebx, 0xffffffff
mov eax, dword [esp + 0x38]
or eax, dword [esp + 0x3c]
je 0x1008067c
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
mov ecx, dword [0x101bac60]
call dword [section..00cfg]
lea eax, [esp + 0x40]
mov dword [esp], eax
call ecx
mov ebx, dword [esp + 0x30]
sub ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x34]
sbb eax, dword [esp + 0x44]
seto cl
mov esi, eax
sar esi, 0x1f
test cl, cl
cmovne ebx, esi
add esi, 0x80000000
test cl, cl
cmove esi, eax
mov eax, ebx
mov ecx, 1
add eax, ecx
mov ecx, esi
mov edx, 0x80000000
adc ecx, edx
cmp eax, 2
sbb ecx, 0
jb 0x10080670
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3e8
call fcn.10146d60
sub esp, 0x10
mov edi, eax
mov ecx, edx
mov edx, 0x3e8
mul edx
mov dword [esp + 0x24], eax
imul eax, ecx, 0x3e8
add eax, edx
cmp dword [esp + 0x24], ebx
sbb eax, esi
setl al
movzx ebx, al
add ebx, edi
adc ecx, 0
mov esi, ecx
jmp 0x10080670
sar esi, 0x1f
not esi
mov ebx, esi
jmp 0x10080678
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.MessagePumpForUI::WaitForWork_GetQueueStatus
mov dword [esp + 4], 0x101bb3d8
mov dword [esp], 0x58
call fcn.1003ae9c
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov dword [esp], 0x40
call dword [sym.imp.USER32.dll_GetQueueStatus]
sub esp, 4
mov ebx, eax
cmp byte [0x101bb3d8], 0
je 0x100808e9
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], eax
movq xmm0, qword [esp + 0x40]
movq qword [esp + 8], xmm0
mov dword [esp + 4], str.MessagePumpForUI::WaitForWork_GetQueueStatus
mov dword [esp], 0x101bb3d8
call fcn.1008c510
test ebx, 0x400000
je 0x1008072c
jmp 0x10080995
pxor xmm0, xmm0
movdqu xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 8], str.MessagePumpForUI::WaitForWork_PeekMessage
mov dword [esp + 4], 0x101bb3d8
mov dword [esp], 0x58
call fcn.1003ae9c
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
pxor xmm0, xmm0
movdqu xmmword [esp + 4], xmm0
lea eax, [esp + 0x40]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_PeekMessageW]
sub esp, 0x14
mov ebx, eax
cmp byte [0x101bb3d8], 0
je 0x1008098d
mov eax, dword [esp + 0x24]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], eax
movq xmm0, qword [esp + 0x70]
movq qword [esp + 8], xmm0
mov dword [esp + 4], str.MessagePumpForUI::WaitForWork_PeekMessage
mov dword [esp], 0x101bb3d8
call fcn.1008c510
test ebx, ebx
je 0x1008076b
test edi, edi
je 0x100809aa
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
call esi
mov ecx, dword [esp + 0x78]
xor ecx, ebp
call fcn.101465a3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
sar ebx, 0x1f
not ebx
mov edi, ebx
jmp 0x10080663