Function at 0x458368
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x458370
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x45882b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x40c3f8]
call fcn.00408d3c
lea eax, [ebp - 8]
mov edx, dword [0x40c3f8]
call fcn.00408d3c
xor eax, eax
push ebp
push 0x4587bd
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00434d48
lea edx, [ebx + 0x10]
mov eax, dword [ebx + 0xc]
call fcn.00437aa4
movzx eax, byte [ebx + 0x14]
push eax
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebx + 0x18]
push eax
mov eax, dword [ebx + 0x1c]
push eax
mov eax, dword [ebx + 0x20]
push eax
lea edx, [ebp - 0x14]
mov esi, dword [ebx + 0x10]
mov eax, esi
call fcn.004484b4
mov eax, dword [ebp - 0x14]
push eax
movzx eax, byte [ebx + 0x28]
push eax
mov eax, dword [ebx + 0x2c]
push eax
mov eax, dword [ebx + 0x30]
push eax
mov eax, dword [ebx + 0x34]
push eax
push 0
lea eax, [ebp - 0xc]
push eax
mov ecx, esi
mov edx, dword [ebx + 0xc]
movzx eax, byte [ebx + 8]
call fcn.0045f5ec
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0xc]
mov ecx, 0x45883c
call fcn.0040a2fc
mov eax, dword [ebp - 0x18]
mov dl, 1
mov ecx, dword [eax]
call dword [ecx + 0x14]
cmp byte [ebx + 8], 2
jne 0x458448
mov byte [ebp - 0xd], 1
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0xd]
push eax
xor ecx, ecx
mov dl, 2
xor eax, eax
call fcn.004425fc
jmp 0x458471
mov byte [ebp - 0xd], 0
mov edx, 0x4b8730
mov eax, 0x4b8728
mov ecx, 0x48
call fcn.004044e8
call fcn.00435124
mov dword [0x4b8728], eax
mov dword [0x4b872c], edx
cmp byte [ebp - 0xd], 0
jne 0x45848a
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0xd]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.004425fc
lea eax, [ebp - 0x1c]
mov edx, dword [ebp - 0xc]
mov ecx, 0x45883c
call fcn.0040a2fc
mov eax, dword [ebp - 0x1c]
mov dl, 2
mov ecx, dword [eax]
call dword [ecx + 0x14]
cmp byte [ebp - 0xd], 0
jne 0x4587b3
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x314]
cmp al, 1
je 0x458502
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x38]
test al, al
je 0x458502
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x4bcc30]
je 0x4584e1
cmp byte [0x4b86f0], 0
je 0x458502
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0xc]
mov ecx, 0x45883c
call fcn.0040a2fc
mov eax, dword [ebp - 0x20]
mov edx, dword [eax]
call dword [edx + 0x10]
mov edx, eax
mov al, 1
call fcn.00442b6c
xor eax, eax
push ebp
push 0x4587ac
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [ebp - 0xd], 0
jne 0x458565
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x380]
test al, al
je 0x458533
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
call dword [ecx + 0x358]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x378]
test al, al
je 0x458552
lea ecx, [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x354]
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0xd]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.004425fc
lea eax, [ebp - 0x2c]
mov edx, dword [ebp - 0xc]
mov ecx, 0x45883c
call fcn.0040a2fc
mov eax, dword [ebp - 0x2c]
mov dl, 3
mov ecx, dword [eax]
call dword [ecx + 0x14]
cmp byte [ebp - 0xd], 0
jne 0x458598
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0xd]
push eax
xor ecx, ecx
xor edx, edx
xor eax, eax
call fcn.004425fc
cmp byte [ebp - 0xd], 0
je 0x4585b1
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
jne 0x45875b
cmp byte [ebp - 0xd], 0
jne 0x458660
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x10]
test al, al
jne 0x4585df
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x20]
test al, al
jne 0x4585df
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30]
test al, al
je 0x4585f1
mov edx, 0x4580cc
mov cl, 1
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x368]
cmp byte [0x4b868c], 0
jne 0x45860d
cmp byte [0x4b8661], 0
je 0x458655
mov eax, dword [0x4b97f8]
cmp byte [eax], 0
je 0x458655
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x398]
cmp al, 4
je 0x458660
cmp byte [0x4b868c], 0
jne 0x458632
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x3a8]
jmp 0x458660
cmp dword [ebx + 0x24], 0
je 0x458660
lea ecx, [ebp - 0x30]
mov dl, 1
mov eax, dword [ebp - 0xc]
mov esi, dword [eax]
call dword [esi + 0x354]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebx + 0x24]
call fcn.00407220
jmp 0x458660
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x3a8]
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x4586a2
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x398]
cmp al, 4
je 0x4586a2
cmp byte [0x4b868c], 0
jne 0x4586a2
cmp byte [0x4b8661], 0
je 0x45874b
mov eax, dword [0x4b97f8]
cmp byte [eax], 0
je 0x45874b
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x58]
call fcn.00436004
test al, al
jne 0x4586d3
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
jne 0x4586fb
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x50]
call fcn.00436004
test al, al
jne 0x4586fb
mov byte [ebp - 0xe], 0
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0xe]
push eax
mov cl, 0xa
mov dl, 1
xor eax, eax
call fcn.004425fc
mov dl, 1
mov eax, dword [ebp - 0xc]
call fcn.0045826c
call fcn.0045010c
jmp 0x45874b
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x50]
call fcn.00436004
test al, al
je 0x458734
mov byte [ebp - 0xe], 0
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0xe]
push eax
mov cl, 9
mov dl, 1
xor eax, eax
call fcn.004425fc
mov dl, 1
mov eax, dword [ebp - 0xc]
call fcn.0045826c
call fcn.0044ffbc
jmp 0x45874b
mov byte [ebp - 0xe], 0
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0xe]
push eax
mov cl, 8
mov dl, 1
xor eax, eax
call fcn.004425fc
cmp byte [ebp - 0xd], 0
jne 0x45875b
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0045826c
xor eax, eax
mov dword [0x4b8e5c], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4587b3
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x314]
cmp al, 1
je 0x4587ab
mov eax, dword [ebp - 0xc]
mov edx, dword [eax]
call dword [edx + 0x38]
test al, al
je 0x4587ab
push 0
call sub.kernel32.dll_GetModuleHandleW_2
cmp eax, dword [0x4bcc30]
je 0x4587a2
cmp byte [0x4b86f0], 0
je 0x4587ab
xor edx, edx
xor eax, eax
call fcn.00442b6c
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x4587c7
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x458832
lea eax, [ebp - 0x30]
call fcn.00406de8
lea eax, [ebp - 0x2c]
call fcn.0040a2b8
lea eax, [ebp - 0x28]
call fcn.00406de8
lea eax, [ebp - 0x24]
call fcn.0040a2b8
lea eax, [ebp - 0x20]
mov edx, dword [0x43420c]
mov ecx, 3
call fcn.004082d4
lea eax, [ebp - 0x14]
call fcn.0040a2b8
lea eax, [ebp - 0xc]
call fcn.0040a2b8
lea eax, [ebp - 8]
mov edx, dword [0x40c3f8]
mov ecx, 2
call fcn.004082d4
ret