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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov edi, ecx
mov eax, dword [0x1f07010]
xor eax, ebp
mov dword [esp + 0x88], eax
mov eax, SysReAllocString
mov ecx, 1
mov edx, dword [ebp + 0xc]
lea esi, [eax - 1]
mov dword [esp + 0x44], edx
xor esi, edx
mov eax, dword [ebp + 8]
add ecx, 0xfffffffe
mov dword [esp + 0x40], eax
xor ecx, eax
mov dword [esp + 0x48], ecx
mov eax, ecx
mov dword [esp + 0x4c], esi
or eax, esi
mov dword [esp + 0x7c], 4
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x3c], edi
jne 0x1d8831e
mov dword [esp + 0x78], 0xffffffff
jmp 0x1d883ec
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
mov edx, ecx
or edx, eax
jne 0x1d88348
lea eax, [esp + 0x50]
mov dword [esp], eax
call fcn.01d92610
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x40]
sub edi, ecx
mov ecx, dword [esp + 0x44]
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, SysReAllocString
adc ecx, edx
cmp eax, 2
sbb ecx, 0
jb 0x1d883cf
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3e8
call fcn.01e82aa0
sub esp, 0x10
mov esi, eax
mov ecx, edx
mov edx, 0x3e8
mul edx
mov dword [esp + 0x2c], eax
imul eax, ecx, 0x3e8
add eax, edx
cmp dword [esp + 0x2c], edi
sbb eax, ebx
setl al
movzx edi, al
add edi, esi
adc ecx, 0
mov ebx, ecx
xor eax, eax
test ebx, ebx
setns cl
jne 0x1d8880a
mov dword [esp + 0x78], edi
test edi, edi
mov edi, dword [esp + 0x3c]
je 0x1d887f2
mov eax, dword [edi + 8]
mov esi, dword [eax]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov edi, dword [esp + 0x3c]
jmp 0x1d8841c
mov dword [esp + 0x78], 0xffffffff
test esi, esi
je 0x1d883ec
lea eax, [esp + 0x78]
mov dword [esp], eax
call sym.msedge_elf.dll_OQS_destroy
lea eax, [esp + 0x7c]
mov dword [esp], eax
call sym.msedge_elf.dll_OQS_destroy
mov dword [esp + 0x74], 0xffffffff
mov eax, dword [esp + 0x7c]
mov ecx, dword [edi + 0x50]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjectsEx]
sub esp, 0x14
mov esi, eax
mov dword [esp + 0x74], eax
test eax, eax
je 0x1d884e0
test byte [0x1f09738], 0x19
je 0x1d885a5
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
movq xmm0, qword [esp + 0x50]
movq qword [esp + 0x10], xmm0
lea eax, [esp + 0x74]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], str.reason:
mov dword [esp + 0xc], 0x1eba120
mov dword [esp + 8], str.MessagePumpForUI::WaitForWork_Spurious_Wakeup
mov dword [esp + 4], 0x1f09738
mov dword [esp], 0x49
call fcn.01d8aed0
jmp 0x1d885a5
mov dword [esp + 0x2c], esi
mov eax, dword [edi + 8]
mov ebx, dword [eax]
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov dword [esp + 0x34], eax
test byte [0x1f0a0ec], 0x19
jne 0x1d88688
mov dword [esp], 0x40
call dword [sym.imp.USER32.dll_GetQueueStatus]
sub esp, 4
test eax, 0x400000
mov esi, dword [esp + 0x2c]
jne 0x1d887d3
pcmpeqd xmm0, xmm0
movdqu xmmword [esp + 0x5c], xmm0
movdqa xmmword [esp + 0x50], xmm0
test byte [0x1f0a0ec], 0x19
jne 0x1d88726
pxor xmm0, xmm0
movdqu xmmword [esp + 4], xmm0
lea eax, [esp + 0x50]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_PeekMessageW]
sub esp, 0x14
test eax, eax
jne 0x1d887d3
mov dword [esp + 0x7c], 0
test ebx, ebx
je 0x1d885a5
mov eax, dword [ebx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [section..00cfg]
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov ecx, ebx
call esi
sub esp, 4
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
je 0x1d88410
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x50], 0xffffffff
lea eax, [esp + 0x50]
mov dword [esp], eax
call fcn.01d92610
mov ebx, dword [esp + 0x40]
sub ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x44]
sbb eax, dword [esp + 0x54]
seto cl
mov edi, eax
sar edi, 0x1f
test cl, cl
cmovne ebx, edi
add edi, 0x80000000
test cl, cl
cmove edi, eax
mov eax, ebx
mov ecx, 1
add eax, ecx
mov ecx, edi
mov edx, SysReAllocString
adc ecx, edx
cmp eax, 2
sbb ecx, 0
jb 0x1d88662
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x3e8
call fcn.01e82aa0
sub esp, 0x10
mov dword [esp + 0x2c], esi
mov esi, eax
mov ecx, edx
mov edx, 0x3e8
mul edx
mov dword [esp + 0x34], eax
imul eax, ecx, 0x3e8
add eax, edx
cmp dword [esp + 0x34], ebx
sbb eax, edi
setl al
movzx ebx, al
add ebx, esi
mov esi, dword [esp + 0x2c]
adc ecx, 0
mov edi, ecx
xor eax, eax
test edi, edi
setns cl
jne 0x1d88680
mov dword [esp + 0x78], ebx
test ebx, ebx
mov edi, dword [esp + 0x3c]
jne 0x1d88418
jmp 0x1d887f2
mov al, cl
neg eax
mov ebx, eax
jmp 0x1d8866b
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], 0x1f0a0ec
mov dword [esp], 0x58
call fcn.01d0e570
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edx
mov dword [esp], 0x40
call dword [sym.imp.USER32.dll_GetQueueStatus]
sub esp, 4
mov esi, eax
cmp byte [0x1f0a0ec], 0
je 0x1d88711
mov eax, dword [esp + 0x30]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x54], eax
movq xmm0, qword [esp + 0x50]
movq qword [esp + 8], xmm0
mov dword [esp + 4], str.MessagePumpForUI::WaitForWork_GetQueueStatus
mov dword [esp], 0x1f0a0ec
call fcn.01d7f2e0
test esi, 0x400000
mov esi, dword [esp + 0x2c]
je 0x1d8853b
jmp 0x1d887d3
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], 0x1f0a0ec
mov dword [esp], 0x58
call fcn.01d0e570
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], edx
pxor xmm0, xmm0
movdqu xmmword [esp + 4], xmm0
lea eax, [esp + 0x50]
mov dword [esp], eax
call dword [sym.imp.USER32.dll_PeekMessageW]
sub esp, 0x14
cmp byte [0x1f0a0ec], 0
je 0x1d88572
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x84], ecx
movq xmm0, qword [esp + 0x80]
movq qword [esp + 8], xmm0
mov dword [esp + 4], str.MessagePumpForUI::WaitForWork_PeekMessage
mov dword [esp], 0x1f0a0ec
mov dword [esp + 0x30], eax
call fcn.01d7f2e0
cmp dword [esp + 0x30], 0
je 0x1d8857a
test ebx, ebx
je 0x1d887f2
mov eax, dword [ebx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [section..00cfg]
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov ecx, ebx
call esi
sub esp, 4
mov ecx, dword [esp + 0x88]
xor ecx, ebp
call fcn.01e60425
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x20
mov al, cl
neg eax
mov edi, eax
jmp 0x1d883dc