Function at 0x1807f3dd
Capabilities:
Generate random numbers via rtlgenrandom
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
mov eax, dword [0x181c600c]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push esi
mov esi, ecx
push edi
xor edi, edi
mov dword [esp + 0x14], esi
mov ebx, edi
mov ecx, dword [esi + 0x50]
mov dword [esp + 0x10], ebx
test ecx, ecx
je 0x1807f40e
mov eax, dword [ecx]
mov dword [ecx + 4], eax
lea ecx, [esi + 0x4c]
call fcn.180075e6
or dword [esi + 0x6c], 0xffffffff
mov dword [esi + 0x48], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x70], edi
mov dword [esi + 0x78], edi
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], edi
mov eax, dword [esi + 0xe0]
mov edi, dword [esi + 0xdc]
cmp edi, eax
je 0x1807f453
mov ebx, eax
mov ecx, edi
call fcn.18055eb3
add edi, 0x40
cmp edi, ebx
jne 0x1807f441
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0xdc]
xor edi, edi
mov dword [esi + 0xe0], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x44], edi
call fcn.1800703b
push eax
lea ecx, [esp + 0x48]
call fcn.1800774f
push dword [esi + 0x1c]
lea eax, [esi + 0xa0]
mov dword [esp + 0x4c], edi
push str.Url_s_r_n
push eax
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
call fcn.18016857
mov edx, dword [esi + 0x40]
add esp, 0xc
and dword [esi + 0x70], edi
and dword [esi + 0x78], edi
xor eax, eax
mov dword [esi + 0x74], edx
cmp eax, dword [esi + 0x38]
jg 0x1807f772
cmp edx, 0x186a0
jg 0x1807f772
mov ecx, dword [esi + 0x80]
call fcn.1801569e
test al, al
jne 0x1807f778
cmp dword [esi + 0x70], 0
je 0x1807f611
cmp dword [esi + 0x58], 0
je 0x1807f533
call fcn.18011c3e
mov edi, eax
mov ebx, edx
mov eax, dword [esi + 0x74]
mov esi, 0x2710
cdq
mov ecx, eax
mov eax, edx
mul esi
mov esi, eax
mov eax, ecx
mov ecx, 0x2710
mul ecx
add esi, edx
add edi, eax
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x14]
adc ebx, esi
push ebx
push dword [esp + 0x40]
mov edi, dword [edi + 0x58]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x1815b3d4]
mov ecx, edi
call esi
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
push dword [esi + 0x74]
push dword [esi + 0x80]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
mov eax, dword [esi + 0x58]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x1807f5e9
mov ecx, dword [eax]
mov eax, dword [ecx + 4]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x1807f58c
mov eax, dword [eax]
or ebx, 1
mov dword [esp + 0x10], ebx
mov esi, dword [eax + 0x28]
lea eax, [esp + 0x20]
push eax
mov ecx, esi
call dword [0x1815b3d4]
mov ecx, dword [esp + 0x40]
call esi
mov esi, dword [esp + 0x14]
jmp 0x1807f5a6
or ebx, 2
mov dword [esp + 0x10], ebx
call fcn.1800703b
push eax
lea ecx, [esp + 0x3c]
call fcn.1800774f
lea eax, [esp + 0x38]
mov ecx, dword [esp + 0x40]
push eax
call dword [0x1815b3d4]
mov ecx, dword [esp + 0x20]
call dword [esp + 0x44]
test bl, 2
je 0x1807f5d1
mov ecx, dword [esp + 0x38]
and ebx, 0xfffffffd
mov dword [esp + 0x10], ebx
lea ecx, [ecx - 0x10]
call fcn.18007012
test bl, 1
je 0x1807f5e9
mov ecx, dword [esp + 0x20]
and ebx, 0xfffffffe
mov dword [esp + 0x10], ebx
lea ecx, [ecx - 0x10]
call fcn.18007012
test edi, edi
je 0x1807f778
cmp edi, 0x102
je 0x1807f611
cmp edi, 0xffffffff
jne 0x1807f76b
call fcn.1801b6cc
mov edi, eax
test edi, edi
js 0x1807f7b4
lea edi, [esi + 0xc]
mov ecx, esi
push edi
call fcn.180802d9
movzx ecx, byte [0x181cc106]
neg ecx
sbb ecx, ecx
and ecx, 0x181cc000
je 0x1807f677
push 7
pop edx
push 2
pop eax
push eax
push edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
call fcn.18008bfd
mov edx, edi
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x24]
call fcn.180732df
push dword [eax]
lea eax, [esp + 0x2c]
push str._detected_configurations___r_n_s_
push eax
call fcn.180072d0
mov ecx, dword [esp + 0x30]
add esp, 0xc
lea ecx, [ecx - 0x10]
call fcn.18007012
lea eax, [esp + 0x48]
mov ecx, esi
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x20]
push eax
call fcn.1807f813
mov edi, eax
mov eax, dword [esp + 0x18]
push 0x64
cdq
pop ecx
idiv ecx
imul eax, eax, 0x64
test edi, edi
jns 0x1807f772
cmp edi, 0x80040810
je 0x1807f772
cmp edi, 0x80040154
je 0x1807f772
cmp edi, 0x80d03002
je 0x1807f772
cmp edi, 0x80040894
je 0x1807f772
cmp eax, 0x190
je 0x1807f772
cmp dword [esi + 0x6c], 0
jg 0x1807f772
cmp eax, 0x1f4
jne 0x1807f6fd
mov eax, 0x4e20
cmp dword [esi + 0x74], eax
jge 0x1807f6fd
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x74]
cmp eax, 0x3fffffff
jle 0x1807f715
mov dword [esi + 0x74], 0x186a0
mov edx, 0x186a0
jmp 0x1807f760
add eax, eax
cmp dword [esi + 0x44], 0
mov dword [esi + 0x74], eax
mov edx, eax
jle 0x1807f760
cmp eax, dword [esi + 0x44]
jl 0x1807f760
and dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push 4
push eax
call dword [sym.imp.ADVAPI32.dll_SystemFunction036]
mov ecx, dword [esi + 0x44]
mov dword [esp + 0x3c], ecx
test al, al
je 0x1807f74a
mov eax, dword [esp + 0x40]
jmp 0x1807f750
mov dword [esp + 0x3c], ecx
mov eax, ecx
xor edx, edx
add ecx, ecx
div ecx
sub edx, dword [esp + 0x3c]
add edx, dword [esi + 0x74]
mov dword [esi + 0x74], edx
inc dword [esi + 0x70]
mov eax, dword [esi + 0x70]
jmp 0x1807f4a9
mov edi, 0x8000ffff
jmp 0x1807f7b4
cmp dword [esi + 0x7c], 0
je 0x1807f77f
mov edi, 0x80040810
jmp 0x1807f7b4
cmp dword [esi + 0x74], 0x186a0
jle 0x1807f78f
mov edi, 0x80040892
jmp 0x1807f7b4
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0x4c]
mov dword [esi + 0x48], eax
lea eax, [esp + 0x44]
push eax
call fcn.18009f25
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x1807f7b4
lea eax, [esp + 0x48]
push eax
call fcn.18074441
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x1807f7f3
mov eax, dword [esp + 0x50]
sub eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], eax
cmp eax, 0x1000
jb 0x1807f7ea
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.18007c32
mov eax, dword [esp + 0x44]
pop ecx
pop ecx
mov ecx, dword [esp + 0x38]
push eax
push ecx
call fcn.18117f86
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
add ecx, 0xfffffff0
call fcn.18007012
mov ecx, dword [esp + 0x54]
mov eax, edi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.18117a58
mov esp, ebp
pop ebp
ret