Function at 0x1008af20
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10119de4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x220
push esi
mov eax, dword [0x104283ec]
mov edx, dword [eax]
mov ecx, dword [0x104283ec]
mov eax, dword [edx + 0x30]
call eax
mov dword [ebp - 0x34], eax
mov ecx, dword [0x104283f0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, dword [0x104283f0]
call dword [ebp - 0x68]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x1008af7d
jmp 0x1008b5ae
mov edx, dword [0x104283ec]
mov eax, dword [edx]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x6c], ecx
lea edx, [ebp - 0x22c]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [0x104283ec]
call dword [ebp - 0x6c]
movzx ecx, al
test ecx, ecx
jne 0x1008afab
jmp 0x1008b5ae
movzx edx, byte [ebp + 8]
test edx, edx
je 0x1008b2fc
mov ecx, dword [ebp - 0x14]
call fcn.1008d9f0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x70], 0x13a4
lea eax, [ebp - 0x70]
push eax
mov ecx, 0x108bb99c
call fcn.1008a920
mov dword [ebp - 0x28], eax
mov ecx, dword [0x108bd418]
mov edx, dword fs:[0x2c]
mov eax, dword [edx + ecx*4]
mov ecx, dword [0x108b4728]
cmp ecx, dword [eax + 4]
jle 0x1008b035
push 0x108b4728
call fcn.10116fcb
add esp, 4
cmp dword [0x108b4728], 0xffffffff
jne 0x1008b035
mov dword [ebp - 4], 0
push 0
mov ecx, 0x108b4724
call fcn.100697e0
mov dword [ebp - 4], 0xffffffff
push 0x108b4728
call fcn.10116f81
add esp, 4
mov edx, dword [0x104283f0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x74], ecx
push ecx
mov ecx, esp
mov dword [ebp - 0xc0], esp
mov edx, 4
imul eax, edx, 0
add eax, dword [ebp - 0x18]
push eax
call fcn.1007f810
mov ecx, dword [0x104283f0]
call dword [ebp - 0x74]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x1008b0c6
mov ecx, dword [0x104283f0]
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x78], eax
push ecx
mov ecx, esp
mov dword [ebp - 0xc4], esp
push 0x108b4724
call fcn.1007f810
mov ecx, dword [0x104283f0]
call dword [ebp - 0x78]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x1008b0c6
push 0x108b4724
lea ecx, [ebp - 0x7c]
call fcn.10080b30
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x7c]
mov dword [eax + edx], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 0x14]
call fcn.10111350
movzx eax, al
test eax, eax
jne 0x1008b11a
cmp dword [ebp - 0x10], 0
je 0x1008b115
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x10]
call eax
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [edx + 0x34]
call eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x10]
mov eax, dword [edx + 0x10]
call eax
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x40]
mov eax, dword [edx + 4]
call eax
jmp 0x1008b5ae
cmp dword [ebp - 0x28], 0
je 0x1008b2f7
mov ecx, dword [ebp - 0x28]
cmp dword [ecx + 0x54], 0
je 0x1008b2f7
cmp dword [ebp - 0x10], 0
jne 0x1008b2d6
mov edx, dword [0x108bd418]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x108b4730]
cmp edx, dword [ecx + 4]
jle 0x1008b193
push 0x108b4730
call fcn.10116fcb
add esp, 4
cmp dword [0x108b4730], 0xffffffff
jne 0x1008b193
mov dword [ebp - 4], 1
call fcn.1008d470
mov dword [0x108b472c], eax
mov dword [ebp - 4], 0xffffffff
push 0x108b4730
call fcn.10116f81
add esp, 4
mov eax, dword [0x104283f0]
mov edx, dword [eax]
mov ecx, dword [0x104283f0]
mov eax, dword [edx + 0x18]
call eax
add eax, 1
mov dword [ebp - 0x24], eax
call dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x80000fff
jns 0x1008b1bf
dec eax
or eax, 0xfffff000
inc eax
mov dword [ebp - 0x44], eax
mov ecx, dword [0x108b472c]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x24]
push eax
call dword [ebp - 0x80]
add esp, 8
mov ecx, dword [0x104283f0]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [0x104283f0]
call dword [ebp - 0x84]
mov dword [ebp - 0x10], eax
mov edx, dword [0x108bd418]
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + edx*4]
mov edx, dword [0x108b4738]
cmp edx, dword [ecx + 4]
jle 0x1008b269
push 0x108b4738
call fcn.10116fcb
add esp, 4
cmp dword [0x108b4738], 0xffffffff
jne 0x1008b269
mov dword [ebp - 4], 2
push 0x101a12dc
push 0x101a1304
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call fcn.1009b430
add esp, 8
mov dword [0x108b4734], eax
mov dword [ebp - 4], 0xffffffff
push 0x108b4738
call fcn.10116f81
add esp, 4
mov eax, dword [0x108b4734]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x8c], ecx
push 0x101a143c
mov ecx, dword [ebp - 0x10]
call dword [ebp - 0x8c]
mov edx, 4
imul eax, edx, 0
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x44]
shl ecx, 0x10
or ecx, dword [ebp - 0x24]
push ecx
lea ecx, [ebp - 0x94]
call fcn.100697e0
mov edx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x94]
mov dword [edx], eax
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + edx]
mov dword [0x108b4724], ecx
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x10]
call fcn.1008b5c0
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.1008c3f0
add esp, 0xc
jmp 0x1008b3ea
mov ecx, dword [ebp - 0x14]
call fcn.1008d910
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x1c], 0
jmp 0x1008b319
mov edx, dword [ebp - 0x1c]
add edx, 1
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x48]
lea ecx, [ecx + eax*4]
call fcn.1008aec0
movzx edx, al
test edx, edx
je 0x1008b3ea
mov eax, dword [0x104283f0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0x98], edx
push ecx
mov ecx, esp
mov dword [ebp - 0xc8], esp
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
lea eax, [edx + eax*4]
push eax
call fcn.1007f810
mov ecx, dword [0x104283f0]
call dword [ebp - 0x98]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x1008b371
jmp 0x1008b310
mov ecx, dword [ebp - 0x2c]
call fcn.10061ae0
mov ecx, eax
call fcn.10084c30
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x4c]
movsx edx, word [ecx]
push edx
call fcn.1008d500
add esp, 4
movzx eax, al
test eax, eax
je 0x1008b3a2
mov dword [ebp - 0x50], 0x2a
jmp 0x1008b3ab
mov ecx, dword [ebp - 0x4c]
movsx edx, word [ecx]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x9c], eax
lea ecx, [ebp - 0x9c]
push ecx
mov ecx, 0x108bb99c
call fcn.1008a920
mov dword [ebp - 0xa0], eax
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.1008c3f0
add esp, 0xc
jmp 0x1008b310
mov ecx, dword [ebp - 0x14]
call fcn.1008dad0
push eax
lea ecx, [ebp - 0x54]
call fcn.10080b30
lea ecx, [ebp - 0x54]
call fcn.1008aec0
movzx edx, al
test edx, edx
jne 0x1008b40f
jmp 0x1008b5ae
mov eax, dword [0x104283f0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xa4], edx
push ecx
mov ecx, esp
mov dword [ebp - 0xcc], esp
lea eax, [ebp - 0x54]
push eax
call fcn.1007f810
mov ecx, dword [0x104283f0]
call dword [ebp - 0xa4]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x1008b44b
jmp 0x1008b5ae
mov ecx, dword [ebp - 0x30]
call fcn.1008dbb0
push eax
lea ecx, [ebp - 0x58]
call fcn.10080b30
lea ecx, [ebp - 0x58]
call fcn.1008aec0
movzx ecx, al
test ecx, ecx
jne 0x1008b470
jmp 0x1008b5ae
mov edx, dword [0x104283f0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xa8], ecx
push ecx
mov ecx, esp
mov dword [ebp - 0xd0], esp
lea edx, [ebp - 0x58]
push edx
call fcn.1007f810
mov ecx, dword [0x104283f0]
call dword [ebp - 0xa8]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x1008b4ad
jmp 0x1008b5ae
mov ecx, dword [ebp - 0x20]
call fcn.10061ae0
mov ecx, eax
call fcn.10084c30
movsx eax, word [eax]
mov dword [ebp - 0xac], eax
lea ecx, [ebp - 0xac]
push ecx
mov ecx, 0x108bb114
call fcn.1008cbd0
test eax, eax
je 0x1008b5ae
mov ecx, dword [ebp - 0x20]
call fcn.10061ae0
mov ecx, eax
call fcn.10084c30
movsx edx, word [eax]
mov dword [ebp - 0xb0], edx
lea eax, [ebp - 0xb0]
push eax
mov ecx, 0x108bb114
call fcn.1008c8c0
mov ecx, dword [eax]
mov dword [ebp - 0xb4], ecx
mov edx, dword [0x108b46a8]
mov eax, dword [edx]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb4]
push edx
mov ecx, dword [0x108b46a8]
call dword [ebp - 0xb8]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x30]
call fcn.1008e390
mov ecx, dword [ebp - 0x60]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
call fcn.1008dc90
push eax
lea ecx, [ebp - 0x5c]
call fcn.10080b30
lea ecx, [ebp - 0x5c]
call fcn.1008aec0
movzx edx, al
test edx, edx
jne 0x1008b565
jmp 0x1008b5ae
mov eax, dword [0x104283f0]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
mov dword [ebp - 0xbc], edx
push ecx
mov ecx, esp
mov dword [ebp - 0xd4], esp
lea eax, [ebp - 0x5c]
push eax
call fcn.1007f810
mov ecx, dword [0x104283f0]
call dword [ebp - 0xbc]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x1008b59e
jmp 0x1008b5ae
mov esi, dword [ebp - 0x60]
add esi, 1
mov ecx, dword [ebp - 0x64]
call fcn.1008e470
mov dword [eax], esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret