Function at 0x45c800
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x746260
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x756a90]
xor eax, esp
mov dword [esp + 0x18], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x756a90]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov eax, dword [0x7579a0]
mov edx, dword [eax + 0xc]
mov ebp, dword [esp + 0x44]
mov esi, ecx
mov ecx, 0x7579a0
mov dword [esp + 0x14], esi
call edx
add eax, 0x10
mov dword [esi], eax
xor edx, edx
mov dword [esp + 0x38], edx
cmp ebp, edx
jle 0x45c9b3
mov ax, word [esp + 0x40]
xor ecx, ecx
mov word [esp + 0x18], ax
mov word [esp + 0x1a], cx
lea esi, [edx + 1]
cmp ax, dx
je 0x45c88f
lea esi, [esp + 0x18]
lea ecx, [esi + 2]
mov edi, edi
mov ax, word [esi]
add esi, 2
cmp ax, dx
jne 0x45c880
sub esi, ecx
sar esi, 1
mov dword [esp + 0x1c], edx
lea edi, [esi + 1]
mov eax, edi
xor ecx, ecx
shld ecx, eax, 1
add eax, eax
mov byte [esp + 0x38], 1
cmp ecx, edx
ja 0x45c8ae
cmp eax, 0xffffffff
jbe 0x45c8b8
push 0x80070216
call fcn.004445d0
cmp eax, 0xa
jbe 0x45c8c9
push eax
lea ecx, [esp + 0x20]
call fcn.0045c420
jmp 0x45c8d1
lea edx, [esp + 0x20]
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x1c]
push 1
lea eax, [esp + 0x1c]
push eax
push edi
push ecx
call fcn.007376f4
add esp, 0x10
cmp eax, 0x50
ja case.0x45c8f6.27
movzx edx, byte [eax + 0x45c9f4]
jmp dword [edx*4 + 0x45c9e4]
push 0x8007000e
call fcn.004445d0
mov ebx, ebp
imul ebx, esi
test ebx, ebx
jns 0x45c91a
push 0x80070057
call fcn.004445d0
mov edi, dword [esp + 0x14]
mov eax, dword [edi]
mov edx, dword [eax - 8]
mov ecx, 1
sub ecx, dword [eax - 4]
sub edx, ebx
or ecx, edx
jge 0x45c939
push ebx
mov ecx, edi
call fcn.004450a0
mov edi, dword [edi]
cmp esi, 1
jne 0x45c95f
mov eax, dword [esp + 0x1c]
movzx eax, word [eax]
test ebp, ebp
jle 0x45c986
mov edx, eax
shl edx, 0x10
or eax, edx
mov ecx, ebp
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
jmp 0x45c986
mov ecx, edi
test ebp, ebp
jle 0x45c986
xor eax, eax
test esi, esi
jle 0x45c983
jmp 0x45c970
mov edx, dword [esp + 0x1c]
mov dx, word [edx + eax*2]
mov word [ecx], dx
inc eax
add ecx, 2
cmp eax, esi
jl 0x45c970
dec ebp
jne 0x45c965
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
cmp ebx, dword [eax - 8]
jg case.0x45c8f6.6
mov dword [eax - 0xc], ebx
mov eax, dword [ecx]
xor ecx, ecx
lea edx, [esp + 0x20]
mov word [eax + ebx*2], cx
cmp dword [esp + 0x1c], edx
je 0x45c9b3
lea ecx, [esp + 0x1c]
call fcn.0044dfd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.00737092
add esp, 0x28
ret 8
push 0x80004005
call fcn.004445d0
mov edi, edi
pop es
leave
inc ebp
add ch, bh
enter 0x45, 0x10
leave
inc ebp
add al, bl
leave
inc ebp
add byte [eax], al
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ecx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [edx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [ebx]
add eax, dword [eax]
int3