Function at 0x1000bf60
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov edi, ecx
call sub.kernel32.dll_CreateTimerQueue
test eax, eax
je 0x1000c46c
mov esi, eax
push 0
push 0
push 0
push 0
call sub.kernel32.dll_CreateEventW
test eax, eax
je 0x1000c46c
push 0
call sub.kernel32.dll_GetModuleHandleA
test eax, eax
je 0x1000c46c
add eax, dword [eax + 0x3c]
jb 0x1000c474
je 0x1000c46c
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [ebp - 0x60], xmm0
call sym.__ZN4rand4rngs6thread14THREAD_RNG_KEY28__u7b__u7b_closure_u7d__u7d_17h642fedfe07a1110cE.llvm.16046167361994549443
test eax, eax
je 0x1000c47e
mov eax, dword [eax]
inc dword [eax]
je 0x1000c498
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], esi
lea eax, [ebp - 0x60]
lea ecx, [ebp - 0x34]
push 0x10
push eax
push ecx
call sym.__LT_rand..rngs..thread..ThreadRng_u20_as_u20_rand_core..RngCore_GT_::try_fill_bytes::hda18283d55b93cf8
add esp, 0xc
test eax, eax
jne 0x1000c49a
lea eax, [0x100df41a]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x489371c2
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::ha2e45bda3108c1ad
mov ecx, 0xf6285b02
xor ecx, dword [eax]
movzx eax, word [eax + 4]
xor al, 0x66
xor ah, 0xd1
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x2b], ah
lea eax, [ebp - 0x30]
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
lea eax, [0x100e87e7]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x24199433
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::h706ce349639b8d58
mov esi, 0x4723c0d8
mov edx, 0xd82337c4
mov edi, 0x65a6fd89
mov ecx, 0xf8e790c2
xor esi, dword [eax]
xor edx, dword [eax + 4]
xor edi, dword [eax + 8]
xor ecx, dword [eax + 0xc]
movzx eax, word [eax + 0x10]
xor al, 0x1d
xor ah, 0x62
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x20]
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [ebp - 0x50], eax
lea eax, [0x100ec897]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0xda12a734
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::h7c319c8e6b6a2990
mov ecx, 0x33e35612
xor ecx, dword [eax]
movzx eax, word [eax + 4]
xor al, 0xc2
xor ah, 0x6a
mov dword [ebp - 0x30], ecx
mov byte [ebp - 0x2c], al
mov byte [ebp - 0x2b], ah
lea eax, [ebp - 0x30]
push eax
call sub.kernel32.dll_GetModuleHandleA
mov edi, eax
lea eax, [0x100e72ef]
lea esi, [ebp - 0x20]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x2289754a
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::h4566cb2b6704a59f
mov ecx, 0xa1ada5c5
mov edx, 0xb7b4e6af
xor ecx, dword [eax]
xor edx, dword [eax + 4]
movzx ebx, byte [eax + 0xa]
movzx eax, word [eax + 8]
xor ah, 0x70
not al
xor bl, 0x43
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov byte [ebp - 0x18], al
mov byte [ebp - 0x17], ah
mov byte [ebp - 0x16], bl
push esi
push edi
call sub.kernel32.dll_GetProcAddress
mov dword [ebp - 0x4c], eax
lea eax, [0x100e20d3]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x8324b6be
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::h38e5216aa219a5f4
mov ecx, 0x63da4f13
mov edx, 0x6d3f7bef
xor ecx, dword [eax]
xor edx, dword [eax + 4]
movzx eax, byte [eax + 8]
xor al, 0xe
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov byte [ebp - 0x28], al
lea eax, [ebp - 0x30]
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
lea eax, [0x100e575e]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0xaba9f710
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::hef22f412f209c22a
mov esi, 0xe2ccc8f8
mov edx, 0x1ad5731
mov edi, 0xc22f7014
mov ecx, 0xa9912642
xor esi, dword [eax]
xor edx, dword [eax + 4]
xor edi, dword [eax + 8]
xor ecx, dword [eax + 0xc]
movzx eax, word [eax + 0x10]
xor al, 0x2e
xor ah, 0x3d
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], ecx
mov byte [ebp - 0x10], al
mov byte [ebp - 0xf], ah
lea eax, [ebp - 0x20]
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [ebp - 0x48], eax
lea eax, [0x100dce9c]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0xcb1df414
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::he4afa5ce33d4a1a7
mov ecx, 0x2919c2fb
mov edx, 0x3993e158
mov esi, 0xf2a0b304
xor ecx, dword [eax]
xor edx, dword [eax + 4]
xor esi, dword [eax + 8]
movzx eax, byte [eax + 0xc]
xor al, 0xe4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], esi
mov byte [ebp - 0x24], al
lea eax, [ebp - 0x30]
push eax
call sub.kernel32.dll_LoadLibraryA
mov ebx, eax
lea eax, [0x100eb6c0]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x1b571b31
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::h385f754a3e742162
mov edi, 0x478a91e
mov esi, 0x3a3757d3
mov ecx, 0xc966a915
xor edi, dword [eax]
xor esi, dword [eax + 4]
xor ecx, dword [eax + 8]
movzx edx, byte [eax + 0xe]
movzx eax, word [eax + 0xc]
xor ah, 0xe1
xor al, 0xd7
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], ecx
xor dl, 0xc4
mov byte [ebp - 0x14], al
mov byte [ebp - 0x13], ah
lea eax, [ebp - 0x20]
mov byte [ebp - 0x12], dl
push eax
push ebx
call sub.kernel32.dll_GetProcAddress
mov dword [ebp - 0x44], eax
lea eax, [0x100e249e]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x5b11381f
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::ha988dc7837cd247f
mov ecx, 0xe8115505
mov edx, 0x94831ffd
mov esi, 0x18e44c23
xor ecx, dword [eax]
xor edx, dword [eax + 4]
xor esi, dword [eax + 8]
movzx eax, byte [eax + 0xc]
xor al, 0xf3
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], esi
mov byte [ebp - 0x24], al
lea eax, [ebp - 0x30]
push eax
call sub.kernel32.dll_LoadLibraryA
mov dword [ebp - 0x40], eax
lea eax, [0x100dcd51]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0xd39eae30
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::h4a09937cd0fb679e
mov ebx, 0x1a2d3d8f
mov esi, 0xe0ceb61
mov edi, 0xff70d8f1
mov edx, 0x69bfd206
mov ecx, 0xec1424d9
xor ebx, dword [eax]
xor esi, dword [eax + 4]
xor edi, dword [eax + 8]
xor edx, dword [eax + 0xc]
xor ecx, dword [eax + 0x10]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
push eax
push dword [ebp - 0x40]
call sub.kernel32.dll_GetProcAddress
mov ebx, eax
lea eax, [0x100eaa73]
lea esi, [ebp - 0x20]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x20], 0x556c811e
mov edx, dword [ebp - 0x20]
call sym.obfstr::xref::inner::hf41121b1e60f8e3f
mov ecx, 0xf8e303ba
mov edx, 0x8a15f1f0
mov edi, 0xb1569745
xor ecx, dword [eax]
xor edx, dword [eax + 4]
xor edi, dword [eax + 8]
movzx eax, byte [eax + 0xc]
xor al, 0xda
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], edi
mov byte [ebp - 0x14], al
push esi
call sub.kernel32.dll_LoadLibraryA
mov edi, eax
lea eax, [0x100e6447]
lea esi, [ebp - 0x30]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], 0x3f09ea95
mov edx, dword [ebp - 0x30]
call sym.obfstr::xref::inner::hb67b43b835d2e180
mov ecx, 0xbeab290e
mov edx, 0xaada1dab
xor ecx, dword [eax]
xor edx, dword [eax + 4]
movzx eax, byte [eax + 8]
xor al, 0x9c
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
mov byte [ebp - 0x28], al
push esi
push edi
call sub.kernel32.dll_GetProcAddress
movd xmm0, dword [ebp - 0x50]
movd xmm1, dword [ebp - 0x4c]
movd xmm3, dword [ebp - 0x48]
movd xmm2, dword [ebp - 0x44]
punpckldq xmm0, xmm1
punpckldq xmm3, xmm2
punpcklqdq xmm0, xmm3
pxor xmm3, xmm3
pcmpeqd xmm3, xmm0
movmskps ecx, xmm3
test ecx, ecx
jne 0x1000c438
test ebx, ebx
je 0x1000c438
test eax, eax
je 0x1000c438
push 0
push 0
push 1
push 0
call sub.kernel32.dll_CreateEventW
test eax, eax
je 0x1000c438
mov edi, eax
push dword [ebp - 0x3c]
push eax
call sub.kernel32.dll_WaitForSingleObject
test eax, eax
je 0x1000c456
mov eax, dword [ebp - 0x34]
dec dword [eax]
jne 0x1000c46c
dec dword [eax + 4]
jne 0x1000c46c
mov ecx, dword [0x100f2e2c]
push eax
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
jmp 0x1000c46c
push edi
call sub.kernel32.dll_SetEvent
push dword [ebp - 0x38]
call sub.kernel32.dll_DeleteTimerQueue
mov ecx, dword [ebp - 0x34]
call sym.core::ptr::drop_in_place_LT_rand..rngs..thread..ThreadRng_GT_::hfe905dbc48910e9e
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
push 0x10073e40
call sym.core::panicking::panic_const::panic_const_add_overflow::hf3b41c4c75c49a6d
lea eax, [ebp - 0x20]
push 0x100ed86c
push 0x100ed6c0
push eax
push 0x46
push 0x100ed7d4
call sym.core::result::unwrap_failed::h534a40e08cfe968a
ud2
push 0x10073bb8
push 0x10
push str.Rng::fill_failedC:Userswin10_x64.cargo_registry_srcindex.crates.io_1cd66030c949c28d_rand_0.8.5_src_rng.rs
call sym.core::panicking::panic::hf6244c8fb5815825
nop dword [eax + eax]