Function at 0x52aa20
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x80
movzx eax, byte [edx + 0x3a]
mov esi, ecx
movzx ebx, byte [edx + 0x34]
mov ch, byte [edx + 0x3b]
mov bh, byte [edx + 0x3c]
mov cl, byte [esi + 0x3b]
mov ah, byte [esi + 0x3c]
mov byte [esp + 9], al
mov al, byte [esi + 0x3a]
cmp bl, 3
mov byte [esp + 1], bl
mov byte [esp + 0xb], ch
mov byte [esp + 0xa], bh
mov byte [esp + 8], ah
mov byte [esp + 7], cl
mov byte [esp + 6], al
jne 0x52aa7d
movzx ebx, byte [esi + 0x34]
cmp bl, 3
jne 0x52ad18
mov byte [esp + 0x20], 3
mov byte [esp + 1], 3
jmp 0x52aaa0
movq xmm0, qword [edx + 0x28]
mov eax, dword [edx + 0x30]
mov ch, byte [edx + 0x37]
movzx edi, word [edx + 0x35]
mov cl, byte [esi + 0x34]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x12], ch
mov word [esp + 0x10], di
mov byte [esp + 0x20], cl
mov eax, dword [edx + 8]
mov edi, dword [edx]
mov ecx, edx
movzx ebx, byte [edx + 0x38]
mov bh, byte [edx + 0x42]
mov ebp, edx
movd xmm1, dword [edx + 0x3d]
movd xmm2, dword [esi + 0x3d]
mov dword [esp + 0x5c], eax
cmp eax, 2
mov eax, edx
mov dword [esp + 0x58], edi
mov byte [esp + 5], bh
mov bh, byte [edx + 0x41]
cmove eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x10]
mov byte [esp + 3], bh
mov bh, byte [esi + 0x38]
cmp eax, 2
mov dword [esp + 0x54], eax
mov eax, edx
cmove ecx, esi
test edi, edi
movzx edi, word [esp + 0x10]
cmove eax, esi
mov ecx, dword [ecx + 0x14]
mov eax, dword [eax + 4]
mov word [esp + 0xc], di
mov edi, dword [edx + 0x18]
mov dword [esp + 0x4c], ecx
movzx ecx, byte [esp + 0x20]
mov dword [esp + 0x44], eax
cmp edi, 2
mov dword [esp + 0x34], edi
mov edi, dword [edx + 0x20]
cmove ebp, esi
mov eax, dword [ebp + 0x1c]
mov ebp, dword [esi + 8]
mov dword [esp + 0x14], edi
cmp edi, 2
mov edi, edx
cmove edi, esi
test bl, bl
cmove edx, esi
mov dword [esp + 0x50], eax
mov eax, dword [edi + 0x24]
mov edi, dword [esi]
mov dword [esp + 0x38], ebp
mov ebp, dword [esi + 0x18]
cmp cl, 3
movzx edx, byte [edx + 0x39]
mov dword [esp + 0x30], edi
mov edi, dword [esi + 0x10]
mov dword [esp + 0x40], eax
movzx eax, byte [esi + 0x42]
mov byte [esp + 4], dl
movzx edx, byte [esp + 0x12]
mov dword [esp + 0x3c], edi
mov edi, dword [esi + 0x20]
mov byte [esp + 0xe], dl
mov edx, dword [esp + 0x18]
mov byte [esp + 0x18], al
mov eax, ecx
mov edx, dword [edx + 0xc]
mov dword [esp + 0x48], edx
movzx edx, byte [esi + 0x41]
je 0x52abc9
cmp al, 2
je 0x52abc9
mov eax, dword [esi + 0x28]
lock dec dword [eax]
jne 0x52abc9
mov byte [esp + 2], dl
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
movdqu xmmword [esp + 0x20], xmm0
movdqu xmmword [esp + 0x70], xmm1
movdqu xmmword [esp + 0x60], xmm2
call fcn.0075aba0
movzx edx, byte [esp + 2]
movdqu xmm2, xmmword [esp + 0x60]
movdqu xmm1, xmmword [esp + 0x70]
movdqu xmm0, xmmword [esp + 0x20]
movzx eax, bh
test bl, bl
movzx ebx, bl
movzx edx, dl
mov ecx, dword [esp + 0x3c]
cmove ebx, eax
movzx eax, byte [esp + 3]
cmp al, 2
movzx eax, al
cmove eax, edx
mov edx, 1
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp eax, 2
cmovne edi, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x54]
cmp eax, 2
cmovne ebp, eax
cmp dword [esp + 0x58], 0
mov eax, dword [esp + 0x38]
cmove edx, dword [esp + 0x30]
cmp edi, 2
cmovne ecx, edi
mov edi, dword [esp + 0x5c]
mov dword [esi], edx
mov edx, dword [esp + 0x44]
cmp edi, 2
cmovne eax, edi
movzx edi, byte [esp + 6]
mov dword [esi + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x14]
mov dword [esi + 0xc], edx
mov edx, dword [esp + 0x4c]
mov dword [esi + 0x10], ecx
movzx ecx, byte [esp + 5]
mov dword [esi + 0x14], edx
mov edx, dword [esp + 0x50]
mov dword [esi + 0x18], ebp
cmp cl, 3
movzx ecx, cl
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x40]
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x24], edx
mov edx, dword [esp + 0x1c]
movq qword [esi + 0x28], xmm0
movdqa xmm0, xmmword [0x7d4da0]
mov dword [esi + 0x30], edx
movzx edx, byte [esp + 1]
pcmpeqb xmm0, xmm1
pand xmm2, xmm0
pandn xmm0, xmm1
por xmm0, xmm2
mov byte [esi + 0x34], dl
movzx edx, byte [esp + 0xe]
mov byte [esi + 0x37], dl
movzx edx, word [esp + 0xc]
mov word [esi + 0x35], dx
movzx edx, byte [esp + 0x18]
mov byte [esi + 0x38], bl
movzx ebx, byte [esp + 0xb]
cmove ecx, edx
movzx edx, byte [esp + 9]
mov dh, byte [esp + 4]
cmp dl, 2
mov byte [esi + 0x39], dh
movzx edx, dl
cmove edx, edi
cmp bl, 2
movzx ebx, bl
mov byte [esi + 0x3a], dl
movzx edx, byte [esp + 7]
cmove ebx, edx
movzx edx, byte [esp + 8]
mov byte [esi + 0x3b], bl
movzx ebx, byte [esp + 0xa]
cmp bl, 2
movzx ebx, bl
cmove ebx, edx
mov byte [esi + 0x3c], bl
movd dword [esi + 0x3d], xmm0
mov byte [esi + 0x41], al
mov byte [esi + 0x42], cl
mov eax, esi
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
cmp bl, 2
mov byte [esp + 0x20], bl
jne 0x52ad30
mov byte [esp + 0x20], 2
mov byte [esp + 1], 2
jmp 0x52aaa0
movq xmm0, qword [esi + 0x28]
movd eax, xmm0
lock inc dword [eax]
jle 0x52ad53
mov eax, dword [esi + 0x30]
movzx ecx, byte [esp + 0x20]
mov dword [esp + 0x1c], eax
mov byte [esp + 1], cl
jmp 0x52aaa0
ud2