Function at 0x313d4594
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x20
push 0
push 0
dec ecx
jne 0x313d459d
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov esi, edx
mov ebx, eax
xor eax, eax
push ebp
push 0x313d4f5f
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 4], 0
je 0x313d4f41
mov eax, dword [0x3143ff20]
movzx eax, word [eax]
mov word [ebp - 0xa], ax
mov eax, dword [0x3143ff20]
mov word [eax], 0x2e
push 0
push 0
mov ecx, 0x313d4f7c
mov edx, 0x313d4f98
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x28]
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x90]
fstp qword [eax + 0x10]
wait
push 0
push 0
mov edx, 0x313d4f98
mov ecx, 0x313d4f7c
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0x28]
fstp qword [ebx + 0x20]
wait
mov eax, dword [0x3143ff20]
movzx edx, word [ebp - 0xa]
mov word [eax], dx
push 0
lea eax, [ebp - 0x14]
push eax
mov edx, 0x313d4f98
mov ecx, 0x313d4fbc
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov edx, dword [ebp - 0x14]
lea eax, [ebx + 0x2c]
call fcn.31236df0
push 0
lea eax, [ebp - 0x18]
push eax
mov edx, 0x313d4f98
mov ecx, 0x313d4fd8
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov edx, dword [ebp - 0x18]
lea eax, [ebx + 0x28]
call fcn.31236df0
push 0x313d4ffc
lea eax, [ebp - 0x1c]
push eax
mov edx, 0x313d4f98
mov ecx, 0x313d500c
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebp - 0x1c]
call fcn.312440dc
mov dword [ebx + 0x34], eax
push 0x313d5034
lea eax, [ebp - 0x20]
push eax
mov edx, 0x313d4f98
mov ecx, 0x313d5044
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebp - 0x20]
call fcn.312440dc
mov dword [ebx + 0x30], eax
push 0x313d506c
lea eax, [ebp - 0x24]
push eax
mov edx, 0x313d4f98
mov ecx, 0x313d5080
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebp - 0x24]
call fcn.312440dc
mov dword [ebx + 0x38], eax
push 0x313d50a4
lea eax, [ebp - 0x28]
push eax
mov edx, 0x313d4f98
mov ecx, 0x313d50b8
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebp - 0x28]
call fcn.312440dc
mov dword [ebx + 0x3c], eax
push 0
mov edx, 0x313d4f98
mov ecx, 0x313d50ec
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 0xc]
mov dword [ebx + 0x40], eax
mov dl, 1
mov eax, dword [0x3125d548]
call fcn.3126962c
mov dword [ebp - 8], eax
xor edx, edx
push ebp
push 0x313d4f3a
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 8]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x313d4f1e
inc eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov eax, esi
call fcn.312670a8
lea ecx, [ebp - 0x2c]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x2c]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72f8
push 0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x34]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x34]
mov ecx, 0x313d5110
mov eax, dword [ebp - 4]
mov edi, dword [eax]
call dword [edi + 4]
mov eax, dword [ebp - 0x30]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72e0
push ebp
lea ecx, [ebp - 0x38]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x38]
mov ecx, 0xffffff
mov edx, 0x313d5134
call fcn.313d44a4
pop ecx
call fcn.312858e8
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72d8
push ebp
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x44]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x44]
mov ecx, 0x313d514c
mov edx, 0x313d5164
call fcn.313d4394
pop ecx
mov eax, dword [ebp - 0x40]
lea edx, [ebp - 0x3c]
call fcn.312430a0
mov eax, dword [ebp - 0x3c]
mov edx, 0x313d5190
call fcn.312374d8
sete al
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72f4
push ebp
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x50]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x50]
push eax
mov ecx, 0x313d514c
mov edx, 0x313d51a8
pop eax
call fcn.313d4394
pop ecx
mov eax, dword [ebp - 0x4c]
lea edx, [ebp - 0x48]
call fcn.312430a0
mov eax, dword [ebp - 0x48]
mov edx, 0x313d5190
call fcn.312374d8
sete al
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7310
push ebp
lea ecx, [ebp - 0x54]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x54]
xor ecx, ecx
mov edx, 0x313d51cc
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7314
push ebp
lea ecx, [ebp - 0x58]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x58]
xor ecx, ecx
mov edx, 0x313d51e4
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7318
push ebp
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x64]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x64]
mov ecx, 0x313d4ffc
mov edx, 0x313d5208
call fcn.313d4394
pop ecx
push dword [ebp - 0x60]
push 0x313d5228
push ebp
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x6c]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x6c]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d5238
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0x68]
push 0x313d5228
push ebp
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x74]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x74]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d5254
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0x70]
push 0x313d5228
push ebp
lea eax, [ebp - 0x78]
push eax
lea ecx, [ebp - 0x7c]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d526c
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0x78]
push 0x313d5228
push ebp
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x84]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x84]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d5288
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0x80]
lea eax, [ebp - 0x5c]
mov edx, 9
call fcn.312373b8
mov eax, dword [ebp - 0x5c]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d725c
push ebp
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x90]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x90]
mov ecx, 0x313d4ffc
mov edx, 0x313d52a8
call fcn.313d4394
pop ecx
push dword [ebp - 0x8c]
push 0x313d5228
push ebp
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x98]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x98]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d52d0
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0x94]
push 0x313d5228
push ebp
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xa0]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xa0]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d52f0
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0x9c]
push 0x313d5228
push ebp
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xa8]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d5310
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0xa4]
push 0x313d5228
push ebp
lea eax, [ebp - 0xac]
push eax
lea ecx, [ebp - 0xb0]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, 0x313d506c
mov edx, 0x313d5334
pop eax
call fcn.313d4394
pop ecx
push dword [ebp - 0xac]
lea eax, [ebp - 0x88]
mov edx, 9
call fcn.312373b8
mov eax, dword [ebp - 0x88]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7288
push ebp
lea ecx, [ebp - 0xb4]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xb4]
xor ecx, ecx
mov edx, 0x313d5358
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72dc
push ebp
lea ecx, [ebp - 0xb8]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
mov edx, 0x313d5380
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7284
push ebp
lea ecx, [ebp - 0xbc]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xbc]
xor ecx, ecx
mov edx, 0x313d53ac
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72c0
push ebp
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xc4]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xc4]
mov ecx, 0x313d5228
mov edx, 0x313d53d4
call fcn.313d4394
pop ecx
mov eax, dword [ebp - 0xc0]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7270
push ebp
lea eax, [ebp - 0xcc]
push eax
lea ecx, [ebp - 0xd0]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xd0]
push eax
mov ecx, 0x313d514c
mov edx, 0x313d53fc
pop eax
call fcn.313d4394
pop ecx
mov eax, dword [ebp - 0xcc]
lea edx, [ebp - 0xc8]
call fcn.312430a0
mov eax, dword [ebp - 0xc8]
mov edx, 0x313d5190
call fcn.312374d8
sete al
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d730c
push ebp
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0xdc]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, 0x313d514c
mov edx, 0x313d541c
pop eax
call fcn.313d4394
pop ecx
mov eax, dword [ebp - 0xd8]
lea edx, [ebp - 0xd4]
call fcn.312430a0
mov eax, dword [ebp - 0xd4]
mov edx, 0x313d5190
call fcn.312374d8
sete al
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7254
push ebp
lea ecx, [ebp - 0xe0]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xe0]
mov ecx, 5
mov edx, 0x313d5444
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d7258
push ebp
lea ecx, [ebp - 0xe4]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xe4]
mov ecx, 0xffffff
mov edx, 0x313d5474
call fcn.313d44a4
pop ecx
call fcn.312858e8
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72b8
push ebp
lea ecx, [ebp - 0xe8]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xe8]
xor ecx, ecx
mov edx, 0x313d5494
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72bc
push ebp
lea ecx, [ebp - 0xec]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xec]
xor ecx, ecx
mov edx, 0x313d54c0
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72b0
push ebp
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0xf4]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xf4]
mov ecx, 0x313d5228
mov edx, 0x313d54f4
call fcn.313d4394
pop ecx
mov eax, dword [ebp - 0xf0]
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d729c
push ebp
lea ecx, [ebp - 0xf8]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xf8]
xor ecx, ecx
mov edx, 0x313d5520
call fcn.313d44a4
pop ecx
push eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
pop edx
call fcn.313d72b4
push ebp
lea ecx, [ebp - 0xfc]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xfc]
mov ecx, 0xffffff
mov edx, 0x313d554c
call fcn.313d44a4
pop ecx
call fcn.312858e8
mov edi, eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov dword [eax + 0x64], edi
push ebp
lea ecx, [ebp - 0x100]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x100]
xor ecx, ecx
mov edx, 0x313d5564
call fcn.313d44a4
pop ecx
mov edi, eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov dword [eax + 0x5c], edi
push ebp
lea ecx, [ebp - 0x104]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x104]
mov ecx, 0xffffff
mov edx, 0x313d5580
call fcn.313d44a4
pop ecx
call fcn.312858e8
mov edi, eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov dword [eax + 0x60], edi
push ebp
lea ecx, [ebp - 0x108]
mov edx, ebx
mov eax, dword [ebp - 8]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x108]
xor ecx, ecx
mov edx, 0x313d5598
call fcn.313d44a4
pop ecx
mov edi, eax
mov edx, ebx
mov eax, esi
call fcn.313d7394
mov dword [eax + 0x68], edi
inc ebx
dec dword [ebp - 0x10]
jne 0x313d4760
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313d4f41
cmp dword [ebp - 8], 0
je 0x313d4f39
lea eax, [ebp - 8]
call fcn.3124bdd0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x313d4f66
lea eax, [ebp - 0x108]
mov edx, 0x3e
call fcn.31236de8
ret