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

Disassembly:
mov eax, 0x50
call fcn.10022920
mov eax, dword [0x101fd024]
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 0x100aaef3
call fcn.1002efd0
push 0x101a50a0
push 0x5a
push str.crypto_rsa_rsa_gen.c
call fcn.1002f0d0
push ebp
push 0x78
jmp 0x100ab791
test eax, eax
je 0x100aaf40
push eax
call fcn.100d19c0
add esp, 4
test eax, eax
jne 0x100aaf40
call fcn.1002efd0
push 0x101a50a0
push 0x60
push str.crypto_rsa_rsa_gen.c
call fcn.1002f0d0
push 0
push 0xb2
push 4
call fcn.1002f180
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.10021a20
add esp, 0x50
ret
cmp dword [esp + 0x14], 2
jl 0x100ab773
push ebx
call fcn.1003aaf0
add esp, 4
cmp dword [esp + 0x14], eax
jg 0x100ab773
push dword [edi + 4]
call fcn.100331c0
mov ebp, eax
add esp, 4
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x100ab745
push ebp
call fcn.10033290
push ebp
call fcn.10033030
push ebp
mov dword [esp + 0x44], eax
call fcn.10033030
push ebp
mov dword [esp + 0x28], eax
call fcn.10033030
add esp, 0x10
mov dword [esp + 0x30], eax
test eax, eax
je 0x100ab745
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 0x100ab0aa
movaps xmm4, xmmword [0x101763c0]
mov eax, ebx
and eax, reloc.WS2_32.dll_ntohs
jns 0x100aafe5
dec eax
or eax, 0xfffffff0
inc eax
movaps xmm2, xmmword [0x10190860]
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 0x100aaff2
mov ebx, dword [esp + 0x14]
cmp ecx, ebx
jge 0x100ab0c9
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 0x100ab0b2
mov ebx, dword [esp + 0x14]
xor esi, esi
inc dword [edi + 0x78]
cmp dword [edi + 0x14], 0
jne 0x100ab0e2
call fcn.100326d0
mov dword [edi + 0x14], eax
test eax, eax
je 0x100ab741
mov eax, dword [edi + 0x1c]
test eax, eax
jne 0x100ab0f9
call fcn.10032880
mov dword [edi + 0x1c], eax
test eax, eax
je 0x100ab741
push 4
push eax
call fcn.100329c0
add esp, 8
cmp dword [edi + 0x18], 0
jne 0x100ab11a
call fcn.100326d0
mov dword [edi + 0x18], eax
test eax, eax
je 0x100ab741
mov eax, dword [edi + 0x20]
test eax, eax
jne 0x100ab131
call fcn.10032880
mov dword [edi + 0x20], eax
test eax, eax
je 0x100ab741
push 4
push eax
call fcn.100329c0
mov eax, dword [edi + 0x24]
add esp, 8
test eax, eax
jne 0x100ab153
call fcn.10032880
mov dword [edi + 0x24], eax
test eax, eax
je 0x100ab741
push 4
push eax
call fcn.100329c0
mov eax, dword [edi + 0x28]
add esp, 8
test eax, eax
jne 0x100ab175
call fcn.10032880
mov dword [edi + 0x28], eax
test eax, eax
je 0x100ab741
push 4
push eax
call fcn.100329c0
mov eax, dword [edi + 0x2c]
add esp, 8
test eax, eax
jne 0x100ab197
call fcn.10032880
mov dword [edi + 0x2c], eax
test eax, eax
je 0x100ab741
push 4
push eax
call fcn.100329c0
mov eax, dword [edi + 0x30]
add esp, 8
test eax, eax
jne 0x100ab1b9
call fcn.10032880
mov dword [edi + 0x30], eax
test eax, eax
je 0x100ab741
push 4
push eax
call fcn.100329c0
add esp, 8
cmp ebx, 2
jle 0x100ab236
lea eax, [ebx - 2]
mov dword [edi + 8], 1
push eax
push 0
call fcn.10035bf0
mov ebp, eax
add esp, 8
mov dword [esp + 0x28], ebp
test ebp, ebp
je 0x100ab741
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x100ab201
push 0x1003ab30
push eax
call fcn.10035ca0
add esp, 8
mov ebx, 2
mov dword [edi + 0x4c], ebp
cmp dword [esp + 0x14], ebx
jle 0x100ab232
nop
call fcn.1003ab90
mov dword [esp + 0x34], eax
test eax, eax
je 0x100ab741
push eax
push ebp
call fcn.10035d00
inc ebx
add esp, 8
cmp ebx, dword [esp + 0x14]
jl 0x100ab210
mov ebx, dword [esp + 0x14]
push dword [esp + 0x2c]
push dword [edi + 0x18]
call fcn.10032170
add esp, 8
test eax, eax
je 0x100ab741
xor ebp, ebp
test ebx, ebx
jle 0x100ab507
nop word [eax + eax]
mov dword [esp + 0x40], esi
mov dword [esp + 0x2c], 0
test ebp, ebp
jne 0x100ab275
mov ebx, dword [edi + 0x20]
jmp 0x100ab295
cmp ebp, 1
jne 0x100ab27f
mov ebx, dword [edi + 0x24]
jmp 0x100ab295
lea eax, [ebp - 2]
push eax
push dword [esp + 0x2c]
call fcn.10035e60
add esp, 8
mov dword [esp + 0x34], eax
mov ebx, dword [eax]
push 4
push ebx
call fcn.100329c0
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.100ceca0
add esp, 0x1c
test eax, eax
je 0x100ab741
xor esi, esi
cmp esi, ebp
jge 0x100ab310
test esi, esi
jne 0x100ab2df
mov eax, dword [edi + 0x20]
jmp 0x100ab2fb
cmp esi, 1
jne 0x100ab2e9
mov eax, dword [edi + 0x24]
jmp 0x100ab2fb
lea eax, [esi - 2]
push eax
push dword [esp + 0x2c]
call fcn.10035e60
add esp, 8
mov eax, dword [eax]
push eax
push ebx
call fcn.10031f90
add esp, 8
test eax, eax
je 0x100ab481
inc esi
jmp 0x100ab2d2
call fcn.10032ab0
mov esi, dword [esp + 0x30]
push eax
push ebx
push esi
call fcn.10033430
add esp, 0xc
test eax, eax
je 0x100ab741
call fcn.1002faf0
push 4
push esi
call fcn.100329c0
push dword [esp + 0x18]
push dword [edi + 0x18]
push esi
push dword [esp + 0x2c]
call fcn.100346b0
add esp, 0x18
test eax, eax
je 0x100ab42d
mov esi, dword [esp + 0x40]
add esi, dword [esp + 0x3c]
mov dword [esp + 0x44], esi
cmp ebp, 1
jne 0x100ab372
push dword [esp + 0x10]
push dword [edi + 0x24]
push dword [edi + 0x20]
jmp 0x100ab382
test ebp, ebp
je 0x100ab4e4
push dword [esp + 0x10]
push ebx
push dword [edi + 0x14]
push dword [esp + 0x24]
call fcn.10033650
add esp, 0x10
test eax, eax
je 0x100ab741
lea eax, [esi - 4]
mov esi, dword [esp + 0x30]
push eax
push dword [esp + 0x1c]
push esi
call fcn.100628c0
add esp, 0xc
test eax, eax
je 0x100ab741
push esi
call fcn.10032330
mov esi, eax
add esp, 4
cmp esi, 9
jb 0x100ab3cc
cmp esi, 0xf
jbe 0x100ab48a
push dword [esp + 0x1c]
push 2
push dword [esp + 0x2c]
call fcn.100cebd0
inc dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x100ab741
cmp dword [esp + 0x14], 4
jle 0x100ab412
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 0x100ab2b0
mov esi, dword [esp + 0x2c]
cmp esi, 4
je 0x100ab4dd
mov ecx, dword [esp + 0x20]
inc esi
mov dword [esp + 0x2c], esi
jmp 0x100ab2b0
call fcn.1002f870
test eax, eax
js 0x100ab741
mov ecx, eax
and ecx, 0x7f800000
cmp ecx, 0x1800000
jne 0x100ab741
and eax, 0x7fffff
cmp eax, 0x6c
jne 0x100ab741
call fcn.1002f910
mov esi, dword [esp + 0x1c]
push esi
push 2
push dword [esp + 0x2c]
call fcn.100cebd0
inc esi
add esp, 0xc
mov dword [esp + 0x1c], esi
test eax, eax
je 0x100ab741
mov ecx, dword [esp + 0x20]
jmp 0x100ab2b0
cmp ebp, 1
jle 0x100ab4a9
mov eax, dword [esp + 0x34]
push dword [edi + 0x14]
push dword [eax + 0xc]
call fcn.10032170
add esp, 8
test eax, eax
je 0x100ab741
push dword [esp + 0x18]
push dword [edi + 0x14]
call fcn.10032170
add esp, 8
test eax, eax
je 0x100ab741
push ebp
push 3
push dword [esp + 0x2c]
call fcn.100cebd0
add esp, 0xc
test eax, eax
je 0x100ab741
mov esi, dword [esp + 0x44]
jmp 0x100ab4fc
or ebp, 0xffffffff
xor esi, esi
jmp 0x100ab4fc
push 0
push 3
push dword [esp + 0x2c]
call fcn.100cebd0
add esp, 0xc
test eax, eax
je 0x100ab741
inc ebp
cmp ebp, dword [esp + 0x14]
jl 0x100ab260
push dword [edi + 0x24]
push dword [edi + 0x20]
call fcn.10031f90
add esp, 8
test eax, eax
jns 0x100ab525
mov ecx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ecx
call fcn.10032ab0
mov esi, dword [esp + 0x18]
push eax
push dword [edi + 0x20]
push esi
call fcn.10033430
add esp, 0xc
test eax, eax
je 0x100ab741
call fcn.10032ab0
mov ebx, dword [esp + 0x30]
push eax
push dword [edi + 0x24]
push ebx
call fcn.10033430
mov ebp, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x100ab745
push ebp
push ebx
push esi
push dword [esp + 0x44]
call fcn.10033650
add esp, 0x10
test eax, eax
je 0x100ab745
mov ebp, dword [esp + 0x28]
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x100ab5db
nop dword [eax + eax]
lea eax, [esi - 2]
push eax
push ebp
call fcn.10035e60
mov ebx, eax
call fcn.10032ab0
push eax
push dword [ebx]
push dword [ebx + 4]
call fcn.10033430
add esp, 0x14
test eax, eax
je 0x100ab741
push dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
push dword [ebx + 4]
push eax
push eax
call fcn.10033650
add esp, 0x10
test eax, eax
je 0x100ab741
inc esi
cmp esi, dword [esp + 0x14]
jl 0x100ab590
call fcn.100326d0
mov ebx, eax
test ebx, ebx
je 0x100ab741
push 4
push dword [esp + 0x3c]
push ebx
call fcn.10032ac0
push dword [esp + 0x1c]
push ebx
push dword [edi + 0x18]
push dword [edi + 0x1c]
call fcn.100346b0
push ebx
mov esi, eax
call fcn.100322c0
add esp, 0x20
test esi, esi
je 0x100ab741
call fcn.100326d0
mov ebx, eax
test ebx, ebx
je 0x100ab741
push 4
push dword [edi + 0x1c]
push ebx
call fcn.10032ac0
mov esi, dword [esp + 0x1c]
push esi
push dword [esp + 0x28]
push ebx
push dword [edi + 0x28]
push 0
call fcn.100616c0
add esp, 0x20
test eax, eax
je 0x100ab738
push esi
push dword [esp + 0x34]
push ebx
push dword [edi + 0x2c]
push 0
call fcn.100616c0
add esp, 0x14
test eax, eax
je 0x100ab738
mov esi, 2
cmp dword [esp + 0x14], esi
jle 0x100ab6a5
lea eax, [esi - 2]
push eax
push ebp
call fcn.10035e60
push dword [esp + 0x18]
mov eax, dword [eax + 4]
push eax
push ebx
push eax
push 0
call fcn.100616c0
add esp, 0x1c
test eax, eax
je 0x100ab738
inc esi
cmp esi, dword [esp + 0x14]
jl 0x100ab678
push ebx
call fcn.100322c0
add esp, 4
call fcn.100326d0
mov ebx, eax
test ebx, ebx
je 0x100ab741
push 4
push dword [edi + 0x20]
push ebx
call fcn.10032ac0
push dword [esp + 0x1c]
push ebx
push dword [edi + 0x24]
push dword [edi + 0x30]
call fcn.100346b0
add esp, 0x1c
test eax, eax
je 0x100ab738
mov edi, 2
cmp dword [esp + 0x14], edi
jle 0x100ab724
nop word [eax + eax]
lea eax, [edi - 2]
push eax
push ebp
call fcn.10035e60
mov esi, eax
push 4
push dword [esi]
push ebx
call fcn.10032ac0
push dword [esp + 0x24]
push ebx
push dword [esi + 0xc]
push dword [esi + 8]
call fcn.100346b0
add esp, 0x24
test eax, eax
je 0x100ab738
inc edi
cmp edi, dword [esp + 0x14]
jl 0x100ab6f0
push ebx
call fcn.100322c0
mov ebp, dword [esp + 0x14]
add esp, 4
mov esi, 1
jmp 0x100ab79b
push ebx
call fcn.100322c0
add esp, 4
mov ebp, dword [esp + 0x10]
call fcn.1002efd0
push 0x101a50a0
push 0x19f
push str.crypto_rsa_rsa_gen.c
call fcn.1002f0d0
push 0
push 0x80003
push 4
call fcn.1002f180
add esp, 0x18
xor esi, esi
jmp 0x100ab79b
xor esi, esi
call fcn.1002efd0
push 0x101a50a0
push 0x66
push str.crypto_rsa_rsa_gen.c
call fcn.1002f0d0
push esi
push 0xa5
push 4
call fcn.1002f180
add esp, 0x18
push ebp
call fcn.10032f30
push ebp
call fcn.10032fa0
mov ecx, dword [esp + 0x64]
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10021a20
add esp, 0x50
ret