Function at 0x4ba340
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x4ba70b
push dword fs:[eax]
mov dword fs:[eax], esp
push 0
lea eax, [ebp - 8]
mov ecx, 1
mov edx, dword [0x45cac8]
call fcn.004056cc
add esp, 4
push 0
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, dword [0x45cac8]
call fcn.004056cc
add esp, 4
push 0
lea eax, [ebp - 0xc]
mov ecx, 1
mov edx, dword [0x45cac8]
call fcn.004056cc
add esp, 4
push 0
lea eax, [ebp - 0x14]
mov ecx, 1
mov edx, dword [0x45cac8]
call fcn.004056cc
add esp, 4
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
call fcn.004054f0
test eax, eax
jle 0x4ba6ea
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
call fcn.004054f0
dec eax
push eax
lea eax, [ebp - 4]
mov ecx, 1
mov edx, dword [0x45cac8]
call fcn.004056cc
add esp, 4
mov eax, dword [ebp - 4]
call fcn.004054f0
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
inc eax
call fcn.00402c84
cmp dword [ebx + 0x118], 0
je 0x4ba428
lea eax, [ebx + 0x118]
call fcn.0045fc88
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov esi, dword [eax + 4]
mov eax, esi
mov edx, dword [0x4b5844]
call fcn.004036f4
test al, al
je 0x4ba4ad
mov ecx, dword [ebx + 0x48]
mov dl, 1
mov eax, dword [0x4bb3e8]
call fcn.004bdac8
mov esi, eax
mov dword [ebx + 0x118], esi
mov dl, 1
mov eax, esi
call fcn.004be6d0
mov eax, dword [ebp - 4]
call fcn.004054f0
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x118]
mov esi, dword [eax]
call dword [esi + 0x2c]
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x118]
call fcn.004be610
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 0x118]
call fcn.004be670
jmp 0x4ba6ea
mov eax, esi
mov edx, dword [0x4b58b0]
call fcn.004036f4
test al, al
je 0x4ba51c
mov ecx, dword [ebx + 0x48]
mov dl, 1
mov eax, dword [0x4bb3e8]
call fcn.004bdac8
mov esi, eax
mov dword [ebx + 0x118], esi
mov eax, dword [ebp - 4]
call fcn.004054f0
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, esi
mov esi, dword [eax]
call dword [esi + 0x2c]
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x14]
mov eax, dword [ebx + 0x118]
call fcn.004be670
mov eax, dword [ebx + 0x30]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [ebx + 0x118]
call fcn.004be5f0
jmp 0x4ba6ea
mov eax, esi
mov edx, dword [0x4b57b0]
call fcn.004036f4
test al, al
je 0x4ba56a
mov ecx, dword [ebx + 0x48]
mov dl, 1
mov eax, dword [0x4bb3e8]
call fcn.004bdac8
mov esi, eax
mov dword [ebx + 0x118], esi
mov dl, 1
mov eax, esi
call fcn.004be6d0
mov eax, dword [ebp - 4]
call fcn.004054f0
mov ecx, eax
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x118]
mov ebx, dword [eax]
call dword [ebx + 0x2c]
jmp 0x4ba6ea
mov eax, esi
mov edx, dword [0x4b5938]
call fcn.004036f4
test al, al
je 0x4ba640
mov ecx, dword [ebx + 0x48]
mov dl, 1
mov eax, dword [0x4bb59c]
call fcn.004c0f5c
mov dword [ebx + 0x118], eax
lea eax, [ebp - 8]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov edx, dword [edx + 8]
mov ecx, dword [0x45cac8]
call fcn.00405814
lea eax, [ebp - 0x10]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov ecx, dword [0x45cac8]
call fcn.00405814
lea eax, [ebp - 0xc]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0x10]
mov ecx, dword [0x45cac8]
call fcn.00405814
lea eax, [ebp - 0x14]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0x14]
mov ecx, dword [0x45cac8]
call fcn.00405814
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0x10]
call fcn.004054f0
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0xc]
call fcn.004054f0
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x14]
call fcn.004054f0
push eax
mov eax, dword [ebp - 8]
call fcn.004054f0
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x118]
call fcn.004c18a4
jmp 0x4ba6ea
mov eax, esi
mov edx, dword [0x4b59dc]
call fcn.004036f4
test al, al
je 0x4ba6ea
mov ecx, dword [ebx + 0x48]
mov dl, 1
mov eax, dword [0x4bb754]
call fcn.004c267c
mov dword [ebx + 0x118], eax
lea eax, [ebp - 8]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov edx, dword [edx + 8]
mov ecx, dword [0x45cac8]
call fcn.00405814
lea eax, [ebp - 0xc]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0x10]
mov ecx, dword [0x45cac8]
call fcn.00405814
lea eax, [ebp - 0x14]
mov edx, dword [ebx + 0x30]
mov edx, dword [edx + 0x28]
mov edx, dword [edx + 4]
mov edx, dword [edx + 0x14]
mov ecx, dword [0x45cac8]
call fcn.00405814
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0xc]
call fcn.004054f0
push eax
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x14]
call fcn.004054f0
push eax
mov eax, dword [ebp - 8]
call fcn.004054f0
mov ecx, eax
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x118]
call fcn.004c271c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4ba712
lea eax, [ebp - 0x14]
mov edx, dword [0x45cac8]
mov ecx, 5
call fcn.00404e44
ret