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

Disassembly:
mov eax, 0x50
call fcn.00486420
mov eax, dword [0x67a114]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x64]
push ebx
mov ebx, dword [esp + 0x5c]
push ebp
push esi
xor esi, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
xor ebp, ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
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 0x50faa3
call fcn.00493aa0
push 0x61b1e0
push 0x5a
push str.crypto_rsa_rsa_gen.c
call fcn.00493ba0
push ebp
push 0x78
jmp 0x510341
test eax, eax
je 0x50faf0
push eax
call fcn.00536580
add esp, 4
test eax, eax
jne 0x50faf0
call fcn.00493aa0
push 0x61b1e0
push 0x60
push str.crypto_rsa_rsa_gen.c
call fcn.00493ba0
push 0
push 0xb2
push 4
call fcn.00493c50
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.004862cc
add esp, 0x50
ret
cmp dword [esp + 0x14], 2
jl 0x510323
push ebx
call fcn.0049f5c0
add esp, 4
cmp dword [esp + 0x14], eax
jg 0x510323
push dword [edi + 4]
call fcn.00497c80
mov ebp, eax
add esp, 4
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x5102f5
push ebp
call fcn.00497d50
push ebp
call fcn.00497af0
push ebp
mov dword [esp + 0x44], eax
call fcn.00497af0
push ebp
mov dword [esp + 0x28], eax
call fcn.00497af0
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x5102f5
mov eax, ebx
xor ecx, ecx
mov ebx, dword [esp + 0x14]
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 0x50fc5a
movaps xmm4, xmmword [0x66def0]
mov eax, ebx
and eax, reloc.WS2_32.dll_ntohs
jns 0x50fb95
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm2, xmmword [0x6069c0]
sub ebx, eax
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, ebx
jl 0x50fba2
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
jge 0x50fc79
mov esi, dword [esp + 0x14]
cmp ecx, ebp
lea eax, [edx + 1]
cmovge eax, edx
mov dword [esp + ecx*4 + 0x48], eax
inc ecx
cmp ecx, esi
jl 0x50fc62
mov ebx, dword [esp + 0x14]
xor esi, esi
inc dword [edi + 0x78]
cmp dword [edi + 0x14], 0
jne 0x50fc92
call fcn.00497190
mov dword [edi + 0x14], eax
test eax, eax
je 0x5102f1
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x50fca9
call fcn.00497340
mov dword [edi + 0x1c], eax
test eax, eax
je 0x5102f1
push 4
push eax
call fcn.00497480
add esp, 8
cmp dword [edi + 0x18], 0
jne 0x50fcca
call fcn.00497190
mov dword [edi + 0x18], eax
test eax, eax
je 0x5102f1
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x50fce1
call fcn.00497340
mov dword [edi + 0x20], eax
test eax, eax
je 0x5102f1
push 4
push eax
call fcn.00497480
mov eax, dword [edi + 0x24]
add esp, 8
test eax, eax
jne 0x50fd03
call fcn.00497340
mov dword [edi + 0x24], eax
test eax, eax
je 0x5102f1
push 4
push eax
call fcn.00497480
mov eax, dword [edi + 0x28]
add esp, 8
test eax, eax
jne 0x50fd25
call fcn.00497340
mov dword [edi + 0x28], eax
test eax, eax
je 0x5102f1
push 4
push eax
call fcn.00497480
mov eax, dword [edi + 0x2c]
add esp, 8
test eax, eax
jne 0x50fd47
call fcn.00497340
mov dword [edi + 0x2c], eax
test eax, eax
je 0x5102f1
push 4
push eax
call fcn.00497480
mov eax, dword [edi + 0x30]
add esp, 8
test eax, eax
jne 0x50fd69
call fcn.00497340
mov dword [edi + 0x30], eax
test eax, eax
je 0x5102f1
push 4
push eax
call fcn.00497480
add esp, 8
cmp ebx, 2
jle 0x50fde6
lea eax, [ebx - 2]
mov dword [edi + 8], 1
push eax
push 0
call fcn.0049a6b0
mov ebp, eax
add esp, 8
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x5102f1
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x50fdb1
push 0x49f600
push eax
call fcn.0049a760
add esp, 8
mov ebx, 2
mov dword [edi + 0x4c], ebp
cmp dword [esp + 0x14], ebx
jle 0x50fde2
nop
call fcn.0049f660
mov dword [esp + 0x34], eax
test eax, eax
je 0x5102f1
push eax
push ebp
call fcn.0049a7c0
inc ebx
add esp, 8
cmp ebx, dword [esp + 0x14]
jl 0x50fdc0
mov ebx, dword [esp + 0x14]
push dword [esp + 0x2c]
push dword [edi + 0x18]
call fcn.00496c30
add esp, 8
test eax, eax
je 0x5102f1
xor ebp, ebp
test ebx, ebx
jle 0x5100b7
nop word [eax + eax]
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
test ebp, ebp
jne 0x50fe25
mov ebx, dword [edi + 0x20]
jmp 0x50fe45
cmp ebp, 1
jne 0x50fe2f
mov ebx, dword [edi + 0x24]
jmp 0x50fe45
lea eax, [ebp - 2]
push eax
push dword [esp + 0x2c]
call fcn.0049a920
add esp, 8
mov dword [esp + 0x34], eax
mov ebx, dword [eax]
push 4
push ebx
call fcn.00497480
mov eax, dword [esp + ebp*4 + 0x50]
add esp, 8
mov ecx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], ecx
nop
push dword [esp + 0x10]
push dword [esp + 0x28]
push 0
push 0
push 0
push ecx
push ebx
call fcn.00533860
add esp, 0x1c
test eax, eax
je 0x5102f1
xor esi, esi
cmp esi, ebp
jge 0x50fec0
test esi, esi
jne 0x50fe8f
mov eax, dword [edi + 0x20]
jmp 0x50feab
cmp esi, 1
jne 0x50fe99
mov eax, dword [edi + 0x24]
jmp 0x50feab
lea eax, [esi - 2]
push eax
push dword [esp + 0x2c]
call fcn.0049a920
add esp, 8
mov eax, dword [eax]
push eax
push ebx
call fcn.00496a50
add esp, 8
test eax, eax
je 0x510031
inc esi
jmp 0x50fe82
call fcn.00497570
mov esi, dword [esp + 0x30]
push eax
push ebx
push esi
call fcn.00497ef0
add esp, 0xc
test eax, eax
je 0x5102f1
call fcn.004945c0
push 4
push esi
call fcn.00497480
push dword [esp + 0x18]
push dword [edi + 0x18]
push esi
push dword [esp + 0x2c]
call fcn.00499170
add esp, 0x18
test eax, eax
je 0x50ffdd
mov esi, dword [esp + 0x40]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x44], esi
cmp ebp, 1
jne 0x50ff22
push dword [esp + 0x10]
push dword [edi + 0x24]
push dword [edi + 0x20]
jmp 0x50ff32
test ebp, ebp
je 0x510094
push dword [esp + 0x10]
push ebx
push dword [edi + 0x14]
push dword [esp + 0x24]
call fcn.00498110
add esp, 0x10
test eax, eax
je 0x5102f1
lea eax, [esi - 4]
mov esi, dword [esp + 0x30]
push eax
push dword [esp + 0x1c]
push esi
call fcn.004c7420
add esp, 0xc
test eax, eax
je 0x5102f1
push esi
call fcn.00496df0
mov esi, eax
add esp, 4
cmp esi, 9
jb 0x50ff7c
cmp esi, 0xf
jbe 0x51003a
push dword [esp + 0x1c]
push 2
push dword [esp + 0x2c]
call fcn.00533790
inc dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x5102f1
cmp dword [esp + 0x14], 4
jle 0x50ffc2
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 0x50fe60
mov esi, dword [esp + 0x2c]
cmp esi, 4
je 0x51008d
mov ecx, dword [esp + 0x20]
inc esi
mov dword [esp + 0x2c], esi
jmp 0x50fe60
call fcn.00494340
test eax, eax
js 0x5102f1
mov ecx, eax
and ecx, 0x7f800000
cmp ecx, 0x1800000
jne 0x5102f1
and eax, 0x7fffff
cmp eax, 0x6c
jne 0x5102f1
call fcn.004943e0
mov esi, dword [esp + 0x1c]
push esi
push 2
push dword [esp + 0x2c]
call fcn.00533790
inc esi
add esp, 0xc
mov dword [esp + 0x1c], esi
test eax, eax
je 0x5102f1
mov ecx, dword [esp + 0x20]
jmp 0x50fe60
cmp ebp, 1
jle 0x510059
mov eax, dword [esp + 0x34]
push dword [edi + 0x14]
push dword [eax + 0xc]
call fcn.00496c30
add esp, 8
test eax, eax
je 0x5102f1
push dword [esp + 0x18]
push dword [edi + 0x14]
call fcn.00496c30
add esp, 8
test eax, eax
je 0x5102f1
push ebp
push 3
push dword [esp + 0x2c]
call fcn.00533790
add esp, 0xc
test eax, eax
je 0x5102f1
mov esi, dword [esp + 0x44]
jmp 0x5100ac
or ebp, 0xffffffff
xor esi, esi
jmp 0x5100ac
push 0
push 3
push dword [esp + 0x2c]
call fcn.00533790
add esp, 0xc
test eax, eax
je 0x5102f1
inc ebp
cmp ebp, dword [esp + 0x14]
jl 0x50fe10
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.00496a50
add esp, 8
test eax, eax
jns 0x5100d5
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
call fcn.00497570
mov esi, dword [esp + 0x18]
push eax
push dword [edi + 0x20]
push esi
call fcn.00497ef0
add esp, 0xc
test eax, eax
je 0x5102f1
call fcn.00497570
mov ebx, dword [esp + 0x30]
push eax
push dword [edi + 0x24]
push ebx
call fcn.00497ef0
mov ebp, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x5102f5
push ebp
push ebx
push esi
push dword [esp + 0x44]
call fcn.00498110
add esp, 0x10
test eax, eax
je 0x5102f5
mov ebp, dword [esp + 0x28]
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x51018b
nop dword [eax + eax]
lea eax, [esi - 2]
push eax
push ebp
call fcn.0049a920
mov ebx, eax
call fcn.00497570
push eax
push dword [ebx]
push dword [ebx + 4]
call fcn.00497ef0
add esp, 0x14
test eax, eax
je 0x5102f1
push dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
push dword [ebx + 4]
push eax
push eax
call fcn.00498110
add esp, 0x10
test eax, eax
je 0x5102f1
inc esi
cmp esi, dword [esp + 0x14]
jl 0x510140
call fcn.00497190
mov ebx, eax
test ebx, ebx
je 0x5102f1
push 4
push dword [esp + 0x3c]
push ebx
call fcn.00497580
push dword [esp + 0x1c]
push ebx
push dword [edi + 0x18]
push dword [edi + 0x1c]
call fcn.00499170
push ebx
mov esi, eax
call fcn.00496d80
add esp, 0x20
test esi, esi
je 0x5102f1
call fcn.00497190
mov ebx, eax
test ebx, ebx
je 0x5102f1
push 4
push dword [edi + 0x1c]
push ebx
call fcn.00497580
mov esi, dword [esp + 0x1c]
push esi
push dword [esp + 0x28]
push ebx
push dword [edi + 0x28]
push 0
call fcn.004c6220
add esp, 0x20
test eax, eax
je 0x5102e8
push esi
push dword [esp + 0x34]
push ebx
push dword [edi + 0x2c]
push 0
call fcn.004c6220
add esp, 0x14
test eax, eax
je 0x5102e8
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x510255
lea eax, [esi - 2]
push eax
push ebp
call fcn.0049a920
push dword [esp + 0x18]
mov eax, dword [eax + 4]
push eax
push ebx
push eax
push 0
call fcn.004c6220
add esp, 0x1c
test eax, eax
je 0x5102e8
inc esi
cmp esi, dword [esp + 0x14]
jl 0x510228
push ebx
call fcn.00496d80
add esp, 4
call fcn.00497190
mov ebx, eax
test ebx, ebx
je 0x5102f1
push 4
push dword [edi + 0x20]
push ebx
call fcn.00497580
push dword [esp + 0x1c]
push ebx
push dword [edi + 0x24]
push dword [edi + 0x30]
call fcn.00499170
add esp, 0x1c
test eax, eax
je 0x5102e8
mov edi, 2
cmp dword [esp + 0x14], edi
jle 0x5102d4
nop word [eax + eax]
lea eax, [edi - 2]
push eax
push ebp
call fcn.0049a920
mov esi, eax
push 4
push dword [esi]
push ebx
call fcn.00497580
push dword [esp + 0x24]
push ebx
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.00499170
add esp, 0x24
test eax, eax
je 0x5102e8
inc edi
cmp edi, dword [esp + 0x14]
jl 0x5102a0
push ebx
call fcn.00496d80
mov ebp, dword [esp + 0x14]
add esp, 4
mov esi, 1
jmp 0x51034b
push ebx
call fcn.00496d80
add esp, 4
mov ebp, dword [esp + 0x10]
call fcn.00493aa0
push 0x61b1e0
push 0x19f
push str.crypto_rsa_rsa_gen.c
call fcn.00493ba0
push 0
push 0x80003
push 4
call fcn.00493c50
add esp, 0x18
xor esi, esi
jmp 0x51034b
xor esi, esi
call fcn.00493aa0
push 0x61b1e0
push 0x66
push str.crypto_rsa_rsa_gen.c
call fcn.00493ba0
push esi
push 0xa5
push 4
call fcn.00493c50
add esp, 0x18
push ebp
call fcn.004979f0
push ebp
call fcn.00497a60
mov ecx, dword [esp + 0x64]
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004862cc
add esp, 0x50
ret