Function at 0x4a2884
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe4
push ebx
push esi
push edi
mov esi, ecx
mov ecx, edx
mov ebx, eax
mov eax, ecx
cdq
push edx
push eax
mov eax, dword [ebx + 0x78]
call fcn.0041e8f8
lea edx, [ebp - 0x1c]
mov eax, dword [ebx + 0x78]
mov ecx, 0xc
mov edi, dword [eax]
call dword [edi + 0xc]
movsx eax, word [ebp - 0x1c]
movsx edx, word [ebp - 0x1a]
imul edx
test eax, eax
jle 0x4a2a77
mov dl, 1
mov eax, dword [0x428bc4]
call fcn.0042f380
mov edi, eax
mov dword [esi + 4], edi
movsx edx, word [ebp - 0x1c]
mov eax, edi
mov ecx, dword [eax]
call dword [ecx + 0x40]
movsx edx, word [ebp - 0x1a]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [esi + 4]
mov dl, 5
call fcn.0043086c
movzx eax, word [ebp - 0x18]
mov word [esi], ax
movzx eax, word [ebp - 0x16]
mov word [esi + 2], ax
movsx eax, word [ebp - 0x1c]
mov ecx, eax
movsx edx, word [ebp - 0x1a]
imul ecx, edx
add ecx, ecx
mov dword [ebp - 0x10], ecx
cmp dword [ebx + 0x34], 0
jle 0x4a2a26
mov eax, dword [ebp - 0x10]
call fcn.00403104
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
call fcn.00403104
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x4a2a1f
push dword fs:[edx]
mov dword fs:[edx], esp
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
cmp byte [ebx + 0x30], 0
je 0x4a297d
mov eax, dword [ebp - 0x14]
call fcn.00403104
mov edi, eax
mov eax, dword [ebx + 0x2c]
push eax
mov edx, edi
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
call fcn.0049f6e0
mov eax, dword [ebp - 4]
call fcn.00403120
mov dword [ebp - 4], edi
movsx eax, word [ebp - 0x1c]
movsx edx, word [ebp - 0x1a]
imul edx
cmp eax, 4
jle 0x4a299f
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004a2650
jmp 0x4a29ae
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
xchg ecx, eax
call fcn.00403370
mov eax, dword [ebp - 4]
call fcn.00403120
movsx eax, word [ebp - 0x1a]
push eax
movsx ecx, word [ebp - 0x1c]
mov dl, 0x10
mov eax, ebx
call fcn.0047a394
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.0046e124
mov edx, eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
call fcn.00403370
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0046f424
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [esi + 4]
call fcn.0042f954
xor ecx, ecx
xor edx, edx
call fcn.0042a85c
mov eax, dword [ebp - 0xc]
call fcn.00404648
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a2a77
mov eax, dword [ebp - 8]
call fcn.00403120
ret
push edx
mov ecx, eax
mov eax, ebx
mov dl, 0x10
call fcn.0047a394
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
call fcn.0046e124
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebx + 0x78]
mov ecx, dword [ebp - 0x14]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0xc]
call fcn.0046f424
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [esi + 4]
call fcn.0042f954
xor ecx, ecx
xor edx, edx
call fcn.0042a85c
mov eax, dword [ebp - 0xc]
call fcn.00404648
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret