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

Disassembly:
mov eax, 0x50
call fcn.005d7100
mov eax, dword [0x879008]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
mov ebp, dword [esp + 0x64]
push esi
xor esi, esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], esi
mov dword [esp + 0x24], esi
push edi
mov edi, dword [esp + 0x64]
cmp ebx, 0x200
jge 0x50dd61
push 0x4e
push str.crypto_rsa_rsa_gen.c
push 0x78
jmp 0x50e52b
cmp ebp, 2
jl 0x50e51f
push ebx
call fcn.0051d280
add esp, 4
cmp ebp, eax
jg 0x50e51f
call fcn.0051e240
mov ebp, eax
mov dword [esp + 0x14], ebp
test ebp, ebp
je 0x50e4ef
push ebp
call fcn.0051e330
push ebp
call fcn.0051e0e0
push ebp
mov dword [esp + 0x44], eax
call fcn.0051e0e0
push ebp
mov dword [esp + 0x28], eax
call fcn.0051e0e0
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x50e4ef
mov eax, ebx
xor ecx, ecx
mov ebx, dword [esp + 0x10]
cdq
idiv ebx
mov ebp, edx
mov edx, eax
movd xmm0, edx
pshufd xmm3, xmm0, 0
movd xmm0, ebp
pshufd xmm5, xmm0, 0
cmp ebx, 0x10
jb 0x50dec8
movaps xmm4, xmmword [0x652a40]
mov eax, ebx
and eax, 0x8000000f
jns 0x50ddfc
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm2, xmmword [0x688e80]
sub ebx, eax
paddd xmm2, xmm3
nop dword [eax]
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, ebx
jl 0x50de10
mov ebx, dword [esp + 0x10]
cmp ecx, ebx
jge 0x50dee7
mov esi, dword [esp + 0x10]
cmp ecx, ebp
lea eax, [edx + 1]
cmovge eax, edx
mov dword [esp + ecx*4 + 0x48], eax
inc ecx
cmp ecx, esi
jl 0x50ded0
mov ebx, dword [esp + 0x10]
xor esi, esi
cmp dword [edi + 0x10], 0
jne 0x50defd
call fcn.0050bb60
mov dword [edi + 0x10], eax
test eax, eax
je 0x50e4ef
cmp dword [edi + 0x18], 0
jne 0x50df13
call fcn.0050bcd0
mov dword [edi + 0x18], eax
test eax, eax
je 0x50e4ef
cmp dword [edi + 0x14], 0
jne 0x50df29
call fcn.0050bb60
mov dword [edi + 0x14], eax
test eax, eax
je 0x50e4ef
cmp dword [edi + 0x1c], 0
jne 0x50df3f
call fcn.0050bcd0
mov dword [edi + 0x1c], eax
test eax, eax
je 0x50e4ef
cmp dword [edi + 0x20], 0
jne 0x50df55
call fcn.0050bcd0
mov dword [edi + 0x20], eax
test eax, eax
je 0x50e4ef
cmp dword [edi + 0x24], 0
jne 0x50df6b
call fcn.0050bcd0
mov dword [edi + 0x24], eax
test eax, eax
je 0x50e4ef
cmp dword [edi + 0x28], 0
jne 0x50df81
call fcn.0050bcd0
mov dword [edi + 0x28], eax
test eax, eax
je 0x50e4ef
cmp dword [edi + 0x2c], 0
jne 0x50df97
call fcn.0050bcd0
mov dword [edi + 0x2c], eax
test eax, eax
je 0x50e4ef
cmp ebx, 2
jle 0x50e008
lea eax, [ebx - 2]
mov dword [edi + 4], 1
push eax
push 0
call fcn.0051a990
mov ebp, eax
add esp, 8
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x50e4ef
mov eax, dword [edi + 0x30]
test eax, eax
je 0x50dfd4
push 0x51d2c0
push eax
call fcn.0051aa10
add esp, 8
mov ebx, 2
mov dword [edi + 0x30], ebp
cmp dword [esp + 0x10], ebx
jle 0x50e004
call fcn.0051d300
mov dword [esp + 0x34], eax
test eax, eax
je 0x50e4ef
push eax
push ebp
call fcn.0051aa70
inc ebx
add esp, 8
cmp ebx, dword [esp + 0x10]
jl 0x50dfe2
mov ebx, dword [esp + 0x10]
push dword [esp + 0x2c]
push dword [edi + 0x14]
call fcn.0050b870
add esp, 8
test eax, eax
je 0x50e4ef
xor ebp, ebp
test ebx, ebx
jle 0x50e2c3
nop dword [eax]
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
test ebp, ebp
jne 0x50e045
mov ebx, dword [edi + 0x1c]
jmp 0x50e065
cmp ebp, 1
jne 0x50e04f
mov ebx, dword [edi + 0x20]
jmp 0x50e065
lea eax, [ebp - 2]
push eax
push dword [esp + 0x2c]
call fcn.0051aba0
add esp, 8
mov dword [esp + 0x34], eax
mov ebx, dword [eax]
push 4
push ebx
call fcn.0050be00
mov ecx, dword [esp + ebp*4 + 0x50]
add esp, 8
mov dword [esp + 0x20], ecx
push dword [esp + 0x24]
push 0
push 0
push 0
push ecx
push ebx
call fcn.0051d570
add esp, 0x18
test eax, eax
je 0x50e4ef
xor esi, esi
cmp esi, ebp
jge 0x50e0d4
test esi, esi
jne 0x50e0a3
mov eax, dword [edi + 0x1c]
jmp 0x50e0bf
cmp esi, 1
jne 0x50e0ad
mov eax, dword [edi + 0x20]
jmp 0x50e0bf
lea eax, [esi - 2]
push eax
push dword [esp + 0x2c]
call fcn.0051aba0
add esp, 8
mov eax, dword [eax]
push eax
push ebx
call fcn.0050b690
add esp, 8
test eax, eax
je 0x50e23d
inc esi
jmp 0x50e096
call fcn.0050bef0
mov esi, dword [esp + 0x30]
push eax
push ebx
push esi
call fcn.0051e4a0
add esp, 0xc
test eax, eax
je 0x50e4ef
call fcn.0050cf60
push 4
push esi
call fcn.0050be00
push dword [esp + 0x1c]
push dword [edi + 0x14]
push esi
push dword [esp + 0x2c]
call fcn.00520010
add esp, 0x18
test eax, eax
je 0x50e1f1
mov esi, dword [esp + ebp*4 + 0x48]
add esi, dword [esp + 0x40]
mov dword [esp + 0x44], esi
cmp ebp, 1
jne 0x50e136
push dword [esp + 0x14]
push dword [edi + 0x20]
push dword [edi + 0x1c]
jmp 0x50e146
test ebp, ebp
je 0x50e2a0
push dword [esp + 0x14]
push ebx
push dword [edi + 0x10]
push dword [esp + 0x24]
call fcn.0051e6b0
add esp, 0x10
test eax, eax
je 0x50e4ef
lea eax, [esi - 4]
mov esi, dword [esp + 0x30]
push eax
push dword [esp + 0x1c]
push esi
call fcn.0051f9e0
add esp, 0xc
test eax, eax
je 0x50e4ef
push esi
call fcn.0050b9f0
mov esi, eax
add esp, 4
cmp esi, 9
jb 0x50e190
cmp esi, 0xf
jbe 0x50e246
push dword [esp + 0x1c]
push 2
push dword [esp + 0x2c]
call fcn.0051d520
inc dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x50e4ef
cmp dword [esp + 0x10], 4
jle 0x50e1d6
mov ecx, dword [esp + 0x20]
cmp esi, 9
mov esi, dword [esp + 0x2c]
sbb eax, eax
and eax, 2
dec eax
add ecx, eax
inc esi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], esi
jmp 0x50e078
mov esi, dword [esp + 0x2c]
cmp esi, 4
je 0x50e299
mov ecx, dword [esp + 0x20]
inc esi
mov dword [esp + 0x2c], esi
jmp 0x50e078
call fcn.0050cd60
mov ecx, eax
and ecx, 0xff000000
cmp ecx, 0x3000000
jne 0x50e4ef
and eax, 0xfff
cmp eax, 0x6c
jne 0x50e4ef
call fcn.0050cd80
mov esi, dword [esp + 0x1c]
push esi
push 2
push dword [esp + 0x2c]
call fcn.0051d520
inc esi
add esp, 0xc
mov dword [esp + 0x1c], esi
test eax, eax
je 0x50e4ef
mov ecx, dword [esp + 0x20]
jmp 0x50e078
cmp ebp, 1
jle 0x50e265
mov eax, dword [esp + 0x34]
push dword [edi + 0x10]
push dword [eax + 0xc]
call fcn.0050b870
add esp, 8
test eax, eax
je 0x50e4ef
push dword [esp + 0x18]
push dword [edi + 0x10]
call fcn.0050b870
add esp, 8
test eax, eax
je 0x50e4ef
push ebp
push 3
push dword [esp + 0x2c]
call fcn.0051d520
add esp, 0xc
test eax, eax
je 0x50e4ef
mov esi, dword [esp + 0x44]
jmp 0x50e2b8
or ebp, 0xffffffff
xor esi, esi
jmp 0x50e2b8
push 0
push 3
push dword [esp + 0x2c]
call fcn.0051d520
add esp, 0xc
test eax, eax
je 0x50e4ef
inc ebp
cmp ebp, dword [esp + 0x10]
jl 0x50e030
push dword [edi + 0x20]
push dword [edi + 0x1c]
call fcn.0050b690
add esp, 8
test eax, eax
jns 0x50e2e1
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], ecx
call fcn.0050bef0
mov ebp, dword [esp + 0x18]
push eax
push dword [edi + 0x1c]
push ebp
call fcn.0051e4a0
add esp, 0xc
test eax, eax
je 0x50e4ef
call fcn.0050bef0
mov ebx, dword [esp + 0x30]
push eax
push dword [edi + 0x20]
push ebx
call fcn.0051e4a0
add esp, 0xc
test eax, eax
je 0x50e4ef
push dword [esp + 0x14]
push ebx
push ebp
push dword [esp + 0x44]
call fcn.0051e6b0
add esp, 0x10
test eax, eax
je 0x50e4ef
mov ebp, dword [esp + 0x28]
mov esi, 2
cmp dword [esp + 0x10], esi
jle 0x50e391
lea eax, [esi - 2]
push eax
push ebp
call fcn.0051aba0
mov ebx, eax
call fcn.0050bef0
push eax
push dword [ebx]
push dword [ebx + 4]
call fcn.0051e4a0
add esp, 0x14
test eax, eax
je 0x50e4ef
push dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
push dword [ebx + 4]
push eax
push eax
call fcn.0051e6b0
add esp, 0x10
test eax, eax
je 0x50e4ef
inc esi
cmp esi, dword [esp + 0x10]
jl 0x50e346
call fcn.0050bb60
mov ebx, eax
test ebx, ebx
je 0x50e4ef
push 4
push dword [esp + 0x3c]
push ebx
call fcn.0050bf00
push dword [esp + 0x20]
push ebx
push dword [edi + 0x14]
push dword [edi + 0x18]
call fcn.00520010
push ebx
mov esi, eax
call fcn.0050b980
add esp, 0x20
test esi, esi
je 0x50e4ef
call fcn.0050bb60
mov ebx, eax
test ebx, ebx
je 0x50e4ef
push 4
push dword [edi + 0x18]
push ebx
call fcn.0050bf00
mov esi, dword [esp + 0x20]
push esi
push dword [esp + 0x28]
push ebx
push dword [edi + 0x24]
push 0
call fcn.0051f320
add esp, 0x20
test eax, eax
je 0x50e4e6
push esi
push dword [esp + 0x34]
push ebx
push dword [edi + 0x28]
push 0
call fcn.0051f320
add esp, 0x14
test eax, eax
je 0x50e4e6
mov esi, 2
cmp dword [esp + 0x10], esi
jle 0x50e45d
nop
lea eax, [esi - 2]
push eax
push ebp
call fcn.0051aba0
push dword [esp + 0x1c]
mov eax, dword [eax + 4]
push eax
push ebx
push eax
push 0
call fcn.0051f320
add esp, 0x1c
test eax, eax
je 0x50e4e6
inc esi
cmp esi, dword [esp + 0x10]
jl 0x50e430
push ebx
call fcn.0050b980
add esp, 4
call fcn.0050bb60
mov ebx, eax
test ebx, ebx
je 0x50e4ef
push 4
push dword [edi + 0x1c]
push ebx
call fcn.0050bf00
push dword [esp + 0x20]
push ebx
push dword [edi + 0x20]
push dword [edi + 0x2c]
call fcn.00520010
add esp, 0x1c
test eax, eax
je 0x50e4e6
mov edi, 2
cmp dword [esp + 0x10], edi
jle 0x50e4d6
lea eax, [edi - 2]
push eax
push ebp
call fcn.0051aba0
mov esi, eax
push 4
push dword [esi]
push ebx
call fcn.0050bf00
push dword [esp + 0x28]
push ebx
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00520010
add esp, 0x24
test eax, eax
je 0x50e4e6
inc edi
cmp edi, dword [esp + 0x10]
jl 0x50e4a2
push ebx
call fcn.0050b980
add esp, 4
mov esi, 1
jmp 0x50e50c
push ebx
call fcn.0050b980
add esp, 4
push 0x183
push str.crypto_rsa_rsa_gen.c
push 3
push 0x81
push 4
call fcn.0050ce70
add esp, 0x14
xor esi, esi
mov edi, dword [esp + 0x14]
test edi, edi
je 0x50e53e
push edi
call fcn.0051dfe0
add esp, 4
jmp 0x50e53e
push 0x54
push str.crypto_rsa_rsa_gen.c
push 0xa5
push 0x81
push 4
xor esi, esi
call fcn.0050ce70
add esp, 0x14
xor edi, edi
push edi
call fcn.0051e050
mov ecx, dword [esp + 0x60]
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00455521
add esp, 0x50
ret