Function at 0x4c9d10
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov eax, dword [esi + 0x24]
push edi
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], ecx
test eax, eax
jne 0x4c9d60
cmp dword [esi + 0x28], ebx
jne 0x4c9d60
mov edx, dword [esi + 0x20]
lea ecx, [esi + 0x14]
call fcn.004563d0
test eax, eax
jne 0x4c9d64
push 0x106
push str.crypto_bn_bn_ctx.c
push 0x6d
mov edx, 0x81
lea ecx, [ebx + 3]
call fcn.004144f0
add esp, 0xc
inc dword [esi + 0x24]
jmp 0x4c9d64
inc eax
mov dword [esi + 0x24], eax
mov ecx, esi
call fcn.00456350
mov edi, eax
test edi, edi
je 0x4c9f68
mov eax, dword [ebp - 4]
mov ecx, edi
mov edx, dword [eax + 4]
add edx, edx
cmp edx, dword [edi + 8]
jle 0x4c9d8e
call fcn.0041de20
mov ecx, eax
mov eax, dword [ebp - 4]
test ecx, ecx
je 0x4c9f68
mov ecx, dword [eax + 4]
dec ecx
mov dword [ebp - 8], ecx
js 0x4c9f18
mov esi, dword [ebp - 4]
mov ebx, ecx
mov eax, dword [esi]
mov edx, dword [eax + ebx*4]
mov ecx, edx
shr ecx, 1
and ecx, 0x8000
mov eax, edx
and eax, 0x20000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x40000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x80000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x100000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x200000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x400000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x800000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x1000000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x2000000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x4000000
or ecx, eax
shr ecx, 1
mov eax, edx
and eax, 0x8000000
or ecx, eax
mov eax, edx
and eax, 0x10000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x20000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x40000000
shr ecx, 1
or ecx, eax
mov eax, dword [edi]
and edx, 0x80000001
shr ecx, 1
or ecx, edx
shr ecx, 1
mov dword [eax + ebx*8 + 4], ecx
mov eax, dword [esi]
mov ecx, dword [eax + ebx*4]
mov edx, ecx
and edx, 0x8000
add edx, edx
mov eax, ecx
and eax, 0x4000
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x2000
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x1000
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x800
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x400
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x200
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x100
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x80
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x40
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x20
or edx, eax
add edx, edx
mov eax, ecx
and eax, 0x10
or edx, eax
add edx, edx
mov eax, ecx
and eax, 8
or edx, eax
add edx, edx
mov eax, ecx
and eax, 4
or edx, eax
add edx, edx
mov eax, ecx
and eax, 2
or edx, eax
mov eax, dword [edi]
add edx, edx
and ecx, 1
or edx, ecx
dec ebx
mov dword [eax + ebx*8 + 8], edx
jns 0x4c9da8
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
xor ebx, ebx
mov ecx, dword [eax + 4]
add ecx, ecx
mov dword [edi + 4], ecx
test ecx, ecx
jle 0x4c9f41
mov eax, dword [edi]
lea edx, [ecx - 1]
lea edx, [eax + edx*4]
lea esp, [esp]
mov eax, dword [edx]
lea edx, [edx - 4]
test eax, eax
jne 0x4c9f3e
dec ecx
test ecx, ecx
jg 0x4c9f30
mov dword [edi + 4], ecx
cmp dword [edi + 4], 0
jne 0x4c9f4e
mov dword [edi + 0xc], 0
push dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov edx, edi
call fcn.004c9670
add esp, 4
mov ecx, 1
test eax, eax
cmovne ebx, ecx
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x4c9f7c
dec ecx
mov dword [esi + 0x24], ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x14]
mov edx, dword [esi + 0x20]
mov edi, dword [eax + ecx*4]
cmp edi, edx
jae 0x4c9fc0
mov eax, dword [esi + 0xc]
sub edx, edi
lea ecx, [eax - 1]
sub eax, edx
and ecx, 0xf
mov dword [esi + 0xc], eax
test edx, edx
je 0x4c9fc0
dec edx
test ecx, ecx
jne 0x4c9fbb
mov eax, dword [esi + 4]
mov ecx, 0xf
mov eax, dword [eax + 0x140]
mov dword [esi + 4], eax
jmp 0x4c9fbc
dec ecx
test edx, edx
jne 0x4c9fa3
mov dword [esi + 0x20], edi
pop edi
mov dword [esi + 0x28], 0
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret