Function at 0x42a9f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x48
mov esi, esp
mov dword [esi + 0x30], ebp
mov dword [esi + 0x34], esp
mov dword [esi + 0x40], 0xffffffff
mov dword [esi + 0x3c], 0x436840
mov dword [esi + 0x2c], ecx
lea eax, [esi + 0x38]
mov dword [esi + 0xc], edx
mov ecx, dword fs:[0]
mov dword [esi + 0x38], ecx
mov dword fs:[0], eax
xor ecx, ecx
mov edi, dword [edx + 8]
mov byte [esi + 0x20], 3
mov dword [esi + 0x10], edi
nop word [eax + eax]
cmp ecx, edi
jae 0x42ac6b
mov byte [edx + 0xd], 1
movzx eax, byte [edx + 0xc]
cmp al, 2
je 0x42acb1
mov edi, dword [edx + 8]
mov ebx, edx
mov edx, edi
sub edx, ecx
mov dword [esi + 4], edx
jb 0x42acd1
cmp al, 1
jne 0x42aa90
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x10]
mov edx, ebx
mov byte [ebx + 0xd], 0
test eax, eax
jne 0x42aaf5
jmp 0x42aba6
mov eax, dword [ebx]
mov dword [esi + 8], ecx
mov dword [esi + 0x40], 0
mov edx, 0xfffffff5
add eax, ecx
lea ecx, [esi + 0x14]
push dword [esi + 4]
push eax
call fcn.00421250
add esp, 8
cmp dword [esi + 0x14], 1
mov edi, dword [esi + 0x10]
jne 0x42aae0
cmp byte [esi + 0x18], 0
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
jne 0x42ab04
cmp eax, 6
jne 0x42ab04
mov eax, dword [esi + 4]
mov byte [edx + 0xd], 0
test eax, eax
jne 0x42aaf5
jmp 0x42aba6
mov eax, dword [esi + 0x18]
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov byte [edx + 0xd], 0
test eax, eax
je 0x42aba6
add ecx, eax
cmp ecx, edi
jb 0x42aa48
jmp 0x42ac6b
mov ecx, edx
mov edx, dword [esi + 0x18]
mov ebx, ecx
mov byte [ecx + 0xd], 0
mov ecx, dword [esi + 8]
test dl, dl
je 0x42ac63
cmp dl, 1
mov cl, dh
je 0x42ab25
movzx ecx, byte [eax + 8]
cmp cl, 0xf
mov ecx, dword [esi + 8]
jne 0x42ac63
cmp dl, 2
mov edx, ebx
jb 0x42aa40
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esi + 0x40], 1
push edx
mov dword [esi + 4], eax
call dword [ecx]
add esp, 4
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0xc]
mov eax, dword [edi + 4]
cmp dword [eax + 4], 0
je 0x42ab83
mov edi, dword [edi]
cmp dword [eax + 8], 9
jae 0x42ab70
call sub.KERNEL32.dll_GetProcessHeap
push edi
jmp 0x42ab78
call sub.KERNEL32.dll_GetProcessHeap
push dword [edi - 4]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov edi, dword [esi + 4]
call sub.KERNEL32.dll_GetProcessHeap
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x10]
mov edx, ebx
cmp ecx, edi
jb 0x42aa48
jmp 0x42ac6b
mov dword [esi + 8], ecx
call sub.KERNEL32.dll_GetProcessHeap
push 0x21
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x42ad12
movsd xmm1, qword [0x448dd8]
mov edi, eax
mov al, byte [0x448de8]
movsd xmm0, qword [0x448de0]
movsd xmm2, qword [0x448dd0]
movsd qword [edi + 0x10], xmm1
movsd xmm1, qword [0x448dc8]
mov byte [edi + 0x20], al
movsd qword [edi + 0x18], xmm0
movsd qword [edi + 8], xmm2
movsd qword [edi], xmm1
call sub.KERNEL32.dll_GetProcessHeap
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x42ad01
mov dword [eax], edi
mov dword [eax + 4], 0x21
mov ebx, eax
mov dword [eax + 8], 0x21
call sub.KERNEL32.dll_GetProcessHeap
push 0xc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x42ad01
mov dword [eax], ebx
mov dword [eax + 4], 0x448294
mov byte [eax + 8], 0xe
mov ebx, dword [esi + 0xc]
mov edx, 2
movzx ecx, word [esi + 0x14]
mov word [eax + 9], cx
mov cl, byte [esi + 0x16]
mov byte [eax + 0xb], cl
mov ecx, dword [esi + 8]
mov dword [esi + 0x20], edx
mov edx, ebx
mov dword [esi + 0x24], eax
test ecx, ecx
je 0x42ac93
mov edi, dword [edx + 8]
sub edi, ecx
jb 0x42ace1
mov dword [edx + 8], 0
je 0x42ac93
mov eax, dword [edx]
add ecx, eax
push edi
push ecx
push eax
mov ebx, edx
call fcn.004392a0
add esp, 0xc
mov dword [ebx + 8], edi
movsd xmm0, qword [esi + 0x20]
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x38]
movsd qword [eax], xmm0
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 0x40], 0
mov ecx, 0x4494d9
mov edx, 0x2b
push 0x449484
call fcn.004104b0
add esp, 4
jmp 0x42acdf
mov edx, edi
mov dword [esi + 0x40], 0
call fcn.00410500
ud2
mov dword [esi + 0x40], 0
mov ecx, 0x448de9
mov edx, 0x1c
push 0x448034
call fcn.004104b0
add esp, 4
jmp 0x42acdf
mov ecx, 0xc
mov edx, 4
call fcn.0040dcf0
ud2
mov ecx, 0x21
mov edx, 1
call fcn.0040dcf0
ud2