Function at 0x4af2f3
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x240
mov esi, dword [ebp + 0xc]
mov eax, dword [0x591128]
xor eax, ebp
mov dword [esp + 0x238], eax
lea edi, [esp + 0x30]
mov ecx, edi
push esi
call fcn.0040249c
push edi
call fcn.004aec24
add esp, 4
mov ebx, eax
test byte [edi], 1
je 0x4af33b
push dword [esp + 0x38]
call fcn.0050f3dd
add esp, 4
test bl, bl
mov bl, 1
jne 0x4af538
mov eax, dword [ebp + 8]
xor ebx, ebx
lea ecx, [esp + 0x20]
mov dword [ecx + 4], ebx
mov dword [ecx], ebx
mov dword [ecx + 8], ebx
push ecx
push eax
call fcn.004aeecb
add esp, 8
test al, al
je 0x4af525
xor eax, eax
dec eax
lea edi, [esp + 0x10]
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov ecx, edi
push esi
call fcn.0040249c
movzx eax, byte [edi]
test al, 1
jne 0x4af396
shr eax, 1
cmp word [esp + eax*2 + 0x10], 0x5c
je 0x4af3a6
lea edi, [esp + 0x12]
jmp 0x4af3e7
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x4af3eb
dec eax
lea esi, [esp + 0x1c]
lea ecx, [esp + 0x30]
push esi
push eax
push 0
push edi
call fcn.00422688
test byte [esi - 0xc], 1
je 0x4af3cb
push dword [esp + 0x18]
call fcn.0050f3dd
add esp, 4
mov eax, dword [esp + 0x38]
lea edi, [esp + 0x12]
mov dword [edi + 6], eax
movsd xmm0, qword [esp + 0x30]
movsd qword [edi - 2], xmm0
test byte [edi - 2], 1
jne 0x4af3f2
mov eax, edi
jmp 0x4af3f2
lea edi, [esp + 0x12]
mov eax, dword [edi + 6]
lea ecx, [esp + 0x22]
test byte [ecx - 2], 1
je 0x4af400
mov ecx, dword [esp + 0x28]
push eax
push ecx
call fcn.00523e62
add esp, 8
test eax, eax
je 0x4af46a
lea esi, [esp + 0x10]
mov ecx, esi
mov edx, esi
call fcn.004af16a
mov ebx, eax
mov ecx, esi
call fcn.004af208
test al, al
jne 0x4af471
test bl, bl
je 0x4af471
xor ebx, ebx
lea edx, [esp + 0x30]
mov dword [edx + 4], ebx
mov dword [edx], ebx
mov dword [edx + 8], ebx
lea ecx, [esp + 0x20]
call fcn.004af255
test al, al
je 0x4af4ff
test byte [esp + 0x10], 1
je 0x4af456
mov edi, dword [esp + 0x18]
test byte [esp + 0x30], 1
je 0x4af4ec
mov eax, dword [esp + 0x38]
jmp 0x4af4f0
mov bl, 1
jmp 0x4af512
xor ebx, ebx
test al, al
je 0x4af512
lea eax, [esp + 0x22]
mov dword [esp + 4], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ebx
push 0x208
push 0xff
lea eax, [esp + 0x38]
push eax
call fcn.00512f00
add esp, 0xc
test byte [esp + 0x10], 1
je 0x4af4ad
mov edi, dword [esp + 0x18]
mov eax, dword [edi]
lea ecx, [esp + 8]
mov dword [ecx], eax
push 0x104
lea esi, [esp + 0x34]
push esi
push ecx
call dword [0x58b38c]
cmp eax, 2
jb 0x4af512
cmp eax, 0x104
je 0x4af512
push esi
call fcn.005277c4
add esp, 4
mov ebx, eax
movzx eax, byte [esp + 0x10]
test al, 1
je 0x4af550
mov eax, dword [esp + 0x14]
jmp 0x4af552
lea eax, [esp + 0x32]
push edi
push eax
call fcn.00523e62
add esp, 8
test eax, eax
sete bl
test byte [esp + 0x30], 1
je 0x4af512
push dword [esp + 0x38]
call fcn.0050f3dd
add esp, 4
test byte [esp + 0x10], 1
je 0x4af525
push dword [esp + 0x18]
call fcn.0050f3dd
add esp, 4
test byte [esp + 0x20], 1
je 0x4af538
push dword [esp + 0x28]
call fcn.0050f3dd
add esp, 4
mov ecx, dword [esp + 0x238]
xor ecx, ebp
call fcn.0050f421
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
shr eax, 1
lea ecx, [ebx + eax]
add ecx, 0xfffffffe
movzx eax, byte [esp + 0x20]
test al, 1
je 0x4af567
mov edx, dword [esp + 0x24]
jmp 0x4af56b
mov edx, eax
shr edx, 1
cmp ecx, edx
jne 0x4af58d
test al, 1
je 0x4af57b
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
push ebx
push esi
push dword [esp + 0xc]
call fcn.00523fdf
add esp, 0xc
test eax, eax
je 0x4af591
xor ebx, ebx
jmp 0x4af512
lea ecx, [esp + 0x20]
mov edx, ebx
lea eax, [esp + 0x10]
push eax
call fcn.004af5ab
add esp, 4
mov ebx, eax
jmp 0x4af512