Function at 0x4f7310
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x50
call fcn.0059cab0
mov eax, dword [0x65fec0]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
push ebx
push ebp
mov ebp, dword [esp + 0x60]
xor ebx, ebx
push esi
xor esi, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], esi
push edi
mov edi, dword [esp + 0x64]
cmp ebp, 0x200
jge 0x4f7383
call fcn.00476d60
push str.rsa_multiprime_keygen
push 0x5a
push str.crypto_rsa_rsa_gen.c
call fcn.00476e60
push ebx
push 0x78
jmp 0x4f7c16
test eax, eax
je 0x4f73d0
push eax
call fcn.00533ef0
add esp, 4
test eax, eax
jne 0x4f73d0
call fcn.00476d60
push str.rsa_multiprime_keygen
push 0x60
push str.crypto_rsa_rsa_gen.c
call fcn.00476e60
push 0
push 0xb2
push 4
call fcn.00476f10
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.0059c3d3
add esp, 0x50
ret
cmp dword [esp + 0x14], 2
jl 0x4f7bf8
push ebp
call fcn.00530540
add esp, 4
cmp dword [esp + 0x14], eax
jg 0x4f7bf8
push dword [edi + 4]
call fcn.00474e40
mov ebx, eax
add esp, 4
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x4f7bca
push ebx
call fcn.00474f10
push ebx
call fcn.00474cc0
push ebx
mov dword [esp + 0x44], eax
call fcn.00474cc0
push ebx
mov dword [esp + 0x28], eax
call fcn.00474cc0
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x4f7bca
xor edx, edx
mov eax, ebp
div dword [esp + 0x14]
xor edx, edx
xor ecx, ecx
mov ebx, eax
mov eax, ebp
div dword [esp + 0x14]
mov eax, dword [esp + 0x14]
movd xmm0, ebx
mov ebp, edx
pshufd xmm3, xmm0, 0
movd xmm0, ebp
pshufd xmm5, xmm0, 0
cmp eax, 0x10
jb 0x4f753c
movaps xmm2, xmmword [0x605360]
mov edx, eax
movaps xmm4, xmmword [0x5ca030]
and edx, 0xfffffff0
paddd xmm2, xmm3
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
movaps xmm1, xmm5
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm2
pand xmm0, xmm1
pandn xmm1, xmm3
por xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x48], xmm0
movd xmm0, eax
lea eax, [ecx + 8]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm1
pandn xmm1, xmm3
pand xmm0, xmm2
por xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x58], xmm0
movd xmm0, eax
lea eax, [ecx + 0xc]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm1
pandn xmm1, xmm3
pand xmm0, xmm2
por xmm0, xmm1
movaps xmm1, xmm5
movups xmmword [esp + ecx*4 + 0x68], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm4
pcmpgtd xmm1, xmm0
movaps xmm0, xmm1
pandn xmm1, xmm3
pand xmm0, xmm2
por xmm0, xmm1
movups xmmword [esp + ecx*4 + 0x78], xmm0
add ecx, 0x10
cmp ecx, edx
jl 0x4f7482
cmp ecx, dword [esp + 0x14]
jge 0x4f7553
mov esi, dword [esp + 0x14]
cmp ecx, ebp
lea eax, [ebx + 1]
cmovge eax, ebx
mov dword [esp + ecx*4 + 0x48], eax
inc ecx
cmp ecx, esi
jl 0x4f7540
xor esi, esi
inc dword [edi + 0x78]
cmp dword [edi + 0x14], 0
jne 0x4f756c
call fcn.0046fcf0
mov dword [edi + 0x14], eax
test eax, eax
je 0x4f7bc6
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x4f7583
call fcn.0046fea0
mov dword [edi + 0x1c], eax
test eax, eax
je 0x4f7bc6
push 4
push eax
call fcn.0046ffd0
add esp, 8
cmp dword [edi + 0x18], 0
jne 0x4f75a4
call fcn.0046fcf0
mov dword [edi + 0x18], eax
test eax, eax
je 0x4f7bc6
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x4f75bb
call fcn.0046fea0
mov dword [edi + 0x20], eax
test eax, eax
je 0x4f7bc6
push 4
push eax
call fcn.0046ffd0
mov eax, dword [edi + 0x24]
add esp, 8
test eax, eax
jne 0x4f75dd
call fcn.0046fea0
mov dword [edi + 0x24], eax
test eax, eax
je 0x4f7bc6
push 4
push eax
call fcn.0046ffd0
mov eax, dword [edi + 0x28]
add esp, 8
test eax, eax
jne 0x4f75ff
call fcn.0046fea0
mov dword [edi + 0x28], eax
test eax, eax
je 0x4f7bc6
push 4
push eax
call fcn.0046ffd0
mov eax, dword [edi + 0x2c]
add esp, 8
test eax, eax
jne 0x4f7621
call fcn.0046fea0
mov dword [edi + 0x2c], eax
test eax, eax
je 0x4f7bc6
push 4
push eax
call fcn.0046ffd0
mov eax, dword [edi + 0x30]
add esp, 8
test eax, eax
jne 0x4f7643
call fcn.0046fea0
mov dword [edi + 0x30], eax
test eax, eax
je 0x4f7bc6
push 4
push eax
call fcn.0046ffd0
mov eax, dword [esp + 0x1c]
add esp, 8
cmp eax, 2
jle 0x4f76c2
add eax, 0xfffffffe
mov dword [edi + 8], 1
push eax
push 0
call fcn.00488560
mov ebp, eax
add esp, 8
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x4f7bc6
mov ecx, dword [edi + 0x4c]
test ecx, ecx
je 0x4f7691
push 0x530580
push ecx
call fcn.00488630
add esp, 8
mov eax, ebp
mov dword [edi + 0x4c], eax
mov ebx, 2
nop dword [eax]
call fcn.005305e0
mov dword [esp + 0x34], eax
test eax, eax
je 0x4f7bc6
push eax
push ebp
call fcn.00488690
inc ebx
add esp, 8
cmp ebx, dword [esp + 0x14]
jl 0x4f76a0
push dword [esp + 0x2c]
push dword [edi + 0x18]
call fcn.0046f860
add esp, 8
test eax, eax
je 0x4f7bc6
xor ebp, ebp
nop dword [eax + eax]
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
test ebp, ebp
jne 0x4f76f5
mov ebx, dword [edi + 0x20]
jmp 0x4f7715
cmp ebp, 1
jne 0x4f76ff
mov ebx, dword [edi + 0x24]
jmp 0x4f7715
lea eax, [ebp - 2]
push eax
push dword [esp + 0x2c]
call fcn.004887f0
add esp, 8
mov dword [esp + 0x34], eax
mov ebx, dword [eax]
push 4
push ebx
call fcn.0046ffd0
mov eax, dword [esp + ebp*4 + 0x50]
add esp, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
nop dword [eax]
push dword [esp + 0x10]
push dword [esp + 0x28]
push 0
push 0
push 0
push eax
push ebx
call fcn.00530720
add esp, 0x1c
test eax, eax
je 0x4f7bc6
xor esi, esi
cmp esi, ebp
jge 0x4f7790
test esi, esi
jne 0x4f775f
mov eax, dword [edi + 0x20]
jmp 0x4f777b
cmp esi, 1
jne 0x4f7769
mov eax, dword [edi + 0x24]
jmp 0x4f777b
lea eax, [esi - 2]
push eax
push dword [esp + 0x2c]
call fcn.004887f0
add esp, 8
mov eax, dword [eax]
push eax
push ebx
call fcn.0046f690
add esp, 8
test eax, eax
je 0x4f7902
inc esi
jmp 0x4f7752
call fcn.00470180
mov esi, dword [esp + 0x30]
push eax
push ebx
push esi
call fcn.004707f0
add esp, 0xc
test eax, eax
je 0x4f7bc6
call fcn.00489b10
push 4
push esi
call fcn.0046ffd0
push dword [esp + 0x18]
push dword [edi + 0x18]
push esi
push dword [esp + 0x2c]
call fcn.0049be30
add esp, 0x18
test eax, eax
je 0x4f78ae
mov esi, dword [esp + 0x40]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x44], esi
cmp ebp, 1
jne 0x4f77f2
push dword [esp + 0x10]
push dword [edi + 0x24]
push dword [edi + 0x20]
jmp 0x4f7802
test ebp, ebp
je 0x4f7966
push dword [esp + 0x10]
push ebx
push dword [edi + 0x14]
push dword [esp + 0x24]
call fcn.00490e20
add esp, 0x10
test eax, eax
je 0x4f7bc6
lea eax, [esi - 4]
mov esi, dword [esp + 0x30]
push eax
push dword [esp + 0x1c]
push esi
call fcn.00475ea0
add esp, 0xc
test eax, eax
je 0x4f7bc6
push esi
call fcn.0046fa20
mov esi, eax
add esp, 4
cmp esi, 9
jb 0x4f784c
cmp esi, 0xf
jbe 0x4f790b
push dword [esp + 0x20]
push 2
push dword [esp + 0x2c]
call fcn.00530690
inc dword [esp + 0x2c]
add esp, 0xc
test eax, eax
je 0x4f7bc6
cmp dword [esp + 0x14], 4
jle 0x4f7896
mov eax, dword [esp + 0x1c]
cmp esi, 9
jae 0x4f7888
inc eax
inc dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
jmp 0x4f7730
dec eax
inc dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
jmp 0x4f7730
cmp dword [esp + 0x2c], 4
je 0x4f795f
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x2c]
jmp 0x4f7730
call fcn.00489890
test eax, eax
js 0x4f7bc6
mov ecx, eax
and ecx, 0x7f800000
cmp ecx, 0x1800000
jne 0x4f7bc6
and eax, 0x7fffff
cmp eax, 0x6c
jne 0x4f7bc6
call fcn.00489930
mov esi, dword [esp + 0x20]
push esi
push 2
push dword [esp + 0x2c]
call fcn.00530690
inc esi
add esp, 0xc
mov dword [esp + 0x20], esi
test eax, eax
je 0x4f7bc6
mov eax, dword [esp + 0x1c]
jmp 0x4f7730
cmp ebp, 1
jle 0x4f792a
mov eax, dword [esp + 0x34]
push dword [edi + 0x14]
push dword [eax + 0xc]
call fcn.0046f860
add esp, 8
test eax, eax
je 0x4f7bc6
mov ebx, dword [esp + 0x18]
push ebx
push dword [edi + 0x14]
call fcn.0046f860
add esp, 8
test eax, eax
je 0x4f7bc6
push ebp
push 3
push dword [esp + 0x2c]
call fcn.00530690
add esp, 0xc
test eax, eax
je 0x4f7bc6
mov esi, dword [esp + 0x44]
jmp 0x4f7982
xor esi, esi
jmp 0x4f76d9
push 0
push 3
push dword [esp + 0x2c]
call fcn.00530690
add esp, 0xc
test eax, eax
je 0x4f7bc6
mov ebx, dword [esp + 0x18]
inc ebp
cmp ebp, dword [esp + 0x14]
jl 0x4f76e0
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.0046f690
add esp, 8
test eax, eax
jns 0x4f79ab
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
call fcn.00470180
push eax
push dword [edi + 0x20]
push ebx
call fcn.004707f0
add esp, 0xc
test eax, eax
je 0x4f7bc6
call fcn.00470180
mov ebp, dword [esp + 0x30]
push eax
push dword [edi + 0x24]
push ebp
call fcn.004707f0
mov ebx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x4f7bca
push ebx
push ebp
push dword [esp + 0x20]
push dword [esp + 0x44]
call fcn.00490e20
add esp, 0x10
test eax, eax
je 0x4f7bca
mov ebp, dword [esp + 0x28]
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x4f7a5f
lea eax, [esi - 2]
push eax
push ebp
call fcn.004887f0
mov ebx, eax
call fcn.00470180
push eax
push dword [ebx]
push dword [ebx + 4]
call fcn.004707f0
add esp, 0x14
test eax, eax
je 0x4f7bc6
push dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
push dword [ebx + 4]
push eax
push eax
call fcn.00490e20
add esp, 0x10
test eax, eax
je 0x4f7bc6
inc esi
cmp esi, dword [esp + 0x14]
jl 0x4f7a10
mov ebx, dword [esp + 0x10]
call fcn.0046fcf0
mov esi, eax
test esi, esi
je 0x4f7bca
push 4
push dword [esp + 0x3c]
push esi
call fcn.00470190
push ebx
push esi
push dword [edi + 0x18]
push dword [edi + 0x1c]
call fcn.0049be30
add esp, 0x1c
push esi
test eax, eax
jne 0x4f7a9c
call fcn.0046f9b0
add esp, 4
jmp 0x4f7bca
call fcn.0046f9b0
add esp, 4
call fcn.0046fcf0
mov ebx, eax
test ebx, ebx
je 0x4f7bc6
push 4
push dword [edi + 0x1c]
push ebx
call fcn.00470190
mov esi, dword [esp + 0x1c]
push esi
push dword [esp + 0x28]
push ebx
push dword [edi + 0x28]
push 0
call fcn.0047ce90
add esp, 0x20
test eax, eax
je 0x4f7bbd
push esi
push dword [esp + 0x34]
push ebx
push dword [edi + 0x2c]
push 0
call fcn.0047ce90
add esp, 0x14
test eax, eax
je 0x4f7bbd
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x4f7b30
lea eax, [esi - 2]
push eax
push ebp
call fcn.004887f0
push dword [esp + 0x18]
mov eax, dword [eax + 4]
push eax
push ebx
push eax
push 0
call fcn.0047ce90
add esp, 0x1c
test eax, eax
je 0x4f7bbd
inc esi
cmp esi, dword [esp + 0x14]
jl 0x4f7b03
push ebx
call fcn.0046f9b0
add esp, 4
call fcn.0046fcf0
mov ebx, eax
test ebx, ebx
je 0x4f7bc6
push 4
push dword [edi + 0x20]
push ebx
call fcn.00470190
push dword [esp + 0x1c]
push ebx
push dword [edi + 0x24]
push dword [edi + 0x30]
call fcn.0049be30
add esp, 0x1c
test eax, eax
je 0x4f7bbd
mov edi, 2
cmp dword [esp + 0x14], edi
jle 0x4f7ba9
lea eax, [edi - 2]
push eax
push ebp
call fcn.004887f0
mov esi, eax
push 4
push dword [esi]
push ebx
call fcn.00470190
push dword [esp + 0x24]
push ebx
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.0049be30
add esp, 0x24
test eax, eax
je 0x4f7bbd
inc edi
cmp edi, dword [esp + 0x14]
jl 0x4f7b75
push ebx
call fcn.0046f9b0
mov ebx, dword [esp + 0x14]
add esp, 4
mov esi, 1
jmp 0x4f7c20
push ebx
call fcn.0046f9b0
add esp, 4
mov ebx, dword [esp + 0x10]
call fcn.00476d60
push str.rsa_multiprime_keygen
push 0x19f
push str.crypto_rsa_rsa_gen.c
call fcn.00476e60
push 0
push 0x80003
push 4
call fcn.00476f10
add esp, 0x18
xor esi, esi
jmp 0x4f7c20
xor esi, esi
call fcn.00476d60
push str.rsa_multiprime_keygen
push 0x66
push str.crypto_rsa_rsa_gen.c
call fcn.00476e60
push esi
push 0xa5
push 4
call fcn.00476f10
add esp, 0x18
push ebx
call fcn.00474bc0
push ebx
call fcn.00474c30
mov ecx, dword [esp + 0x64]
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059c3d3
add esp, 0x50
ret