Function at 0x4370db
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x18], edx
push edi
mov dword [esp + 0x18], esi
mov eax, dword [esi + 0x50]
push dword [esi + 0xf4]
mov dword [esp + 0x14], eax
call fcn.0052fd64
pop ecx
cmp eax, 6
jb 0x437688
mov ecx, dword [esi + 0xf4]
add ecx, 0xfffffff4
push 6
push str.XXXXXX
lea edi, [ecx + eax*2]
push edi
call fcn.0053003c
add esp, 0xc
test eax, eax
jne 0x437688
mov ebx, bind
push 8
lea eax, [esp + 0x24]
push eax
call dword [sym.imp.ADVAPI32.dll_SystemFunction036]
test al, al
je 0x437677
mov edx, dword [esp + 0x24]
mov ebp, edi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], 6
mov esi, dword [esp + 0x14]
push 0
push 0x3e
push edx
push eax
call fcn.0054ea70
push 0
push 0x3e
mov ax, word [eax*2 + str.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
mov word [ebp], ax
lea ebp, [ebp + 2]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.0054e600
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
sub esi, 1
jne 0x43715c
mov esi, dword [esp + 0x18]
push esi
call dword [esp + 0x20]
pop ecx
test eax, eax
jne 0x437654
sub ebx, 1
jne 0x437131
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esi + 0xf0], eax
test eax, eax
jle 0x437697
cmp eax, 0x17
jg 0x43726c
je 0x437681
cmp eax, 8
jg 0x437231
je 0x437227
sub eax, 1
je 0x43721d
sub eax, 1
je 0x43733e
sub eax, 1
je 0x43733e
sub eax, 1
je 0x437213
sub eax, 1
je 0x437209
sub eax, 1
jne case.0x4375f1.10039
mov eax, 0xfffff00d
jmp 0x437697
mov eax, 0xfffff030
jmp 0x437697
mov eax, 0xfffff01e
jmp 0x437697
mov eax, 0xfffff01c
jmp 0x437697
mov eax, 0xfffff027
jmp 0x437697
sub eax, 0xd
je case.0x4375f1.10046
sub eax, 1
je 0x437227
sub eax, 1
je 0x43733e
dec eax
sub eax, 1
je 0x437262
dec eax
sub eax, 1
jne case.0x4375f1.10039
mov eax, 0xfffff035
jmp 0x437697
mov eax, 0xfffff03b
jmp 0x437697
mov ecx, 0x45d
cmp eax, ecx
jg 0x437497
je 0x437681
mov ecx, 0xcb
cmp eax, ecx
jg 0x43738e
je 0x43733e
cmp eax, 0x6e
jg 0x437316
je 0x437681
cmp eax, 0x40
jg 0x4372e1
je case.0x4375f1.10054
sub eax, 0x1f
je 0x437681
sub eax, 1
je 0x4373d0
sub eax, 1
je 0x4373d0
sub eax, 6
je 0x43730c
sub eax, 0xb
jne case.0x4375f1.10039
mov eax, 0xfffff02f
jmp 0x437697
mov eax, 0xfffff013
jmp 0x437697
sub eax, 0x50
je 0x43737a
dec eax
sub eax, 1
je 0x43730c
sub eax, 5
je case.0x4375f1.10046
sub eax, 0x16
jne case.0x4375f1.10039
mov eax, 0xfffff001
jmp 0x437697
mov eax, 0xfffff029
jmp 0x437697
cmp eax, 0x7e
jg 0x43735c
je 0x43733e
sub eax, 0x6f
je 0x437352
sub eax, 1
je 0x43730c
sub eax, 9
je case.0x4375f1.10060
sub eax, 1
je case.0x4375f1.10046
sub eax, 1
jne case.0x4375f1.10039
mov eax, 0xfffff026
jmp 0x437697
mov eax, 0xfffff039
jmp 0x437697
mov eax, 0xfffff016
jmp 0x437697
sub eax, 0x91
je 0x437384
sub eax, 0xb
je 0x437681
sub eax, 5
je 0x43733e
sub eax, 0x16
jne case.0x4375f1.10039
mov eax, 0xfffff015
jmp 0x437697
mov eax, 0xfffff02d
jmp 0x437697
mov ecx, 0x3e3
cmp eax, ecx
jg 0x437426
je 0x43757f
mov ecx, 0xe8
cmp eax, ecx
jg 0x4373f8
je case.0x4375f1.10058
sub eax, 0xcd
je 0x437681
sub eax, 1
je 0x4373ee
dec eax
sub eax, 1
je 0x4373e4
sub eax, 0x16
je case.0x4375f1.10058
sub eax, 1
jne case.0x4375f1.10039
mov eax, 0xfffff00e
jmp 0x437697
mov eax, 0xfffff031
jmp 0x437697
mov eax, 0xfffff003
jmp 0x437697
mov eax, 0xfffff020
jmp 0x437697
sub eax, 0xe9
je case.0x4375f1.10058
sub eax, 0x22
je 0x43733e
sub eax, 0xa
je 0x43730c
sub eax, 0x1cf
jne case.0x4375f1.10039
mov eax, 0xfffff004
jmp 0x437697
mov ecx, 0x44f
cmp eax, ecx
jg 0x437465
je 0x437681
sub eax, 0x3e6
je 0x43741c
sub eax, 6
je 0x4371ff
sub eax, 0x60
je 0x43730c
sub eax, 1
je 0x437681
sub eax, 1
jne case.0x4375f1.10039
jmp 0x437681
sub eax, 0x450
je 0x437681
dec eax
sub eax, 1
je 0x437681
sub eax, 5
je 0x437681
dec eax
sub eax, 1
jne case.0x4375f1.10039
mov eax, 0xfffff010
jmp 0x437697
mov ecx, 0x2735
cmp eax, ecx
jg 0x4375d8
je 0x4375ce
mov ecx, 0x5b8
cmp eax, ecx
jg 0x437543
je case.0x4375f1.10046
mov ecx, 0x4cf
cmp eax, ecx
jg 0x437512
je case.0x4375f1.10051
sub eax, 0x469
je 0x437681
sub eax, 0x24
je 0x437681
sub eax, 1
je 0x437681
sub eax, 0x3b
je case.0x4375f1.10061
dec eax
sub eax, 1
jne case.0x4375f1.10039
mov eax, 0xfffff005
jmp 0x437697
mov eax, 0xfffff012
jmp 0x437697
mov eax, 0xfffff022
jmp 0x437697
sub eax, 0x4d0
je 0x437539
sub eax, 4
je case.0x4375f1.10053
sub eax, 0x4e
je 0x437209
sub eax, 0x4f
jmp 0x43745a
mov eax, 0xfffff011
jmp 0x437697
mov eax, 0xfffff017
jmp 0x437697
mov ecx, 0x271d
cmp eax, ecx
jg 0x43759d
je 0x43741c
sub eax, 0x780
je 0x43741c
sub eax, 1
je 0x437593
sub eax, 0x149
je case.0x4375f1.10057
sub eax, 0x85e
je 0x43733e
sub eax, 0x15ec
jne case.0x4375f1.10039
mov eax, 0xfffff00f
jmp 0x437697
mov eax, 0xfffff02b
jmp 0x437697
mov eax, 0xfffff01d
jmp 0x437697
sub eax, 0x271e
je 0x437352
sub eax, 8
je case.0x4375f1.10046
dec eax
sub eax, 1
je 0x437213
sub eax, 0xb
jne case.0x4375f1.10039
mov eax, 0xfffff008
jmp 0x437697
mov eax, 0xfffff00c
jmp 0x437697
mov ecx, 0x2751
cmp eax, ecx
jg 0x437639
je 0x437539
add eax, 0xffffd8ca
cmp eax, 0x17
ja case.0x4375f1.10039
jmp dword [eax*4 + 0x4376ab]
mov eax, 0xfffff006
jmp 0x437697
mov eax, 0xfffff007
jmp 0x437697
mov eax, 0xfffff01b
jmp 0x437697
mov eax, 0xfffff01f
jmp 0x437697
mov eax, 0xfffff024
jmp 0x437697
mov eax, 0xfffff02e
jmp 0x437697
mov eax, 0xfffff033
jmp 0x437697
mov eax, 0xfffff047
jmp 0x437697
sub eax, 0x2af9
je 0x43733e
sub eax, 3
je 0x43733e
mov eax, 0xfffff002
jmp 0x437697
cmp dword [esi + 0x48], 0
jl 0x4376a1
mov esi, dword [esp + 0x10]
push esi
call fcn.00520660
push 6
add eax, 0xfffffffa
add eax, esi
push edi
push eax
call fcn.0052fb86
add esp, 0x10
jmp 0x4376a1
mov dword [esi + 0xf0], 0x45d
mov eax, 0xfffff01a
jmp 0x437697
mov dword [esi + 0xf0], 0x57
mov eax, 0xfffff019
mov dword [esi + 0x48], eax
mov esi, dword [esp + 0x10]
mov byte [esi], 0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret