Function at 0x4312e0
Capabilities:
Access peb ldr_data

Disassembly:
sub esp, 0x18
mov edi, dword [esp + 0x20]
mov ebx, dword fs:[0x14]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x18]
mov edx, dword [eax + 0x70]
inc edx
mov dword [eax + 0x70], edx
mov eax, 0xfffffade
mov dword [ecx + 8], eax
mov eax, 1
mov byte [ecx + 0x85], al
mov ebp, dword [esp + 0x1c]
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov dword [eax + 0x24], ebp
mov dword [eax + 0x20], edi
xor edx, edx
mov dword [eax + 0x34], edx
xor edx, edx
mov dword [eax + 0x30], edx
xor edx, edx
mov dword [eax + 0x2c], edx
mov dword [eax + 0x28], eax
mov dword [ecx + 0x3c], edi
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x40], eax
mov dword [esp + 0xc], ecx
mov dword [esp], ecx
mov dword [esp + 4], 2
mov dword [esp + 8], 3
call fcn.0042d990
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x3c]
mov ebp, dword [ecx]
cmp edx, ebp
jb 0x43153a
mov edx, dword [ecx + 4]
mov ebp, dword [ecx + 0x3c]
cmp edx, ebp
jb 0x43153a
movzx ebx, byte [0x6d1bc8]
cmp bl, 0
je 0x4313c5
mov ebx, 0x619c68
mov dword [esp], ebx
call fcn.00450ea0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], ecx
xor ecx, ecx
mov dword [eax + 0x34], ecx
xor ecx, ecx
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x28], eax
mov ebx, 0x6c8d20
mov dword [esp], ebx
add dword [esp], 0x80
call fcn.004cfdd0
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 4]
cmp ebx, 0
je 0x431535
mov ebx, 0x619b18
mov dword [esp], ebx
call fcn.00450ea0
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov dword [eax + 0x24], ebp
mov dword [eax + 0x20], edx
xor edx, edx
mov dword [eax + 0x34], edx
xor edx, edx
mov dword [eax + 0x30], edx
xor edx, edx
mov dword [eax + 0x2c], edx
mov dword [eax + 0x28], eax
mov ebp, dword [ecx + 0x18]
mov ebx, dword [ebp + 0x54]
mov ebp, dword [ebx + 0x944]
cmp ebp, 0
je 0x431477
mov ebx, 0x619c20
mov dword [esp], ebx
call fcn.00450ea0
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov dword [eax + 0x24], ebp
mov dword [eax + 0x20], edx
xor edx, edx
mov dword [eax + 0x34], edx
xor edx, edx
mov dword [eax + 0x30], edx
xor edx, edx
mov dword [eax + 0x2c], edx
mov dword [eax + 0x28], eax
mov ebp, dword [ecx + 0x18]
mov ebx, dword [ebp + 0x54]
mov eax, dword [ebx + 0x14]
mov ebp, dword [ecx + 0x18]
mov dword [ebp + 0x204], eax
mov eax, 1
mov byte [ecx + 0x87], al
xor eax, eax
mov ebp, dword [ecx + 0x18]
mov dword [ebp + 0xb0], eax
mov ebp, dword [ecx + 0x18]
mov ebx, dword [ebp + 0x54]
xor eax, eax
mov dword [ebx + 0x18], eax
mov ebp, dword [ecx + 0x18]
mov ebx, dword [ebp + 0x54]
mov dword [esp], ebx
cmp dword [esp], 0
je 0x43152d
add dword [esp], 8
mov dword [esp + 4], 2
call fcn.004cffe0
mov ebx, dword [0x6c8d94]
cmp ebx, 0
je 0x43150f
mov ebx, 0x619b14
mov dword [esp], ebx
call fcn.00450ea0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov ebx, dword fs:[0x14]
mov eax, dword [ebx]
mov dword [eax + 0x24], edx
mov dword [eax + 0x20], ecx
xor ecx, ecx
mov dword [eax + 0x34], ecx
xor ecx, ecx
mov dword [eax + 0x30], ecx
xor ecx, ecx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x28], eax
mov eax, 0xfffffade
mov ebx, dword [esp + 0xc]
mov dword [ebx + 8], eax
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 0x70]
dec ecx
mov dword [eax + 0x70], ecx
add esp, 0x18
ret
mov dword [0], eax
jmp 0x4314b9
jmp 0x431428
xor eax, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x10]
mov edx, 0x44d750
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [esp], eax
call fcn.00450ea0
jmp 0x43137f