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

Disassembly:
mov eax, 0xa4
call fcn.0059cab0
mov eax, dword [0x65fec0]
xor eax, esp
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xc4]
push ebx
mov ebx, dword [esp + 0xc4]
push ebp
xor ebp, ebp
mov dword [esp + 0x14], ecx
push esi
xor esi, esi
mov dword [esp + 0x50], edx
push edi
mov edi, dword [esp + 0xcc]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x14], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x6c], ebp
cmp dword [esp + 0xc0], esi
jne 0x4e3c81
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x38], eax
jmp 0x4e3c85
mov dword [esp + 0x38], esi
mov dword [ebx], esi
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
jne 0x4e3cd7
test edi, edi
jne 0x4e3ca8
cmp dword [esp + 0xc8], 0x800
sbb edi, edi
and edi, 0xffffffa0
add edi, 0x100
cmp edi, 0xa0
jne 0x4e3cb7
mov ecx, str.SHA1
jmp 0x4e3cd7
cmp edi, 0xe0
jne 0x4e3cc6
mov ecx, str.SHA_224
jmp 0x4e3cd7
cmp edi, 0x100
jne 0x4e4695
mov ecx, str.SHA_256
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x30]
push eax
push ecx
push edx
call fcn.00477c00
mov ebp, eax
add esp, 0xc
mov esi, ebp
test ebp, ebp
je 0x4e4613
push ebp
call fcn.00494cd0
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x4e4613
mov edx, dword [esp + 0xc8]
shl eax, 3
test edi, edi
cmovne eax, edi
mov ebx, eax
mov dword [esp + 0x44], eax
shr ebx, 3
cmp edx, eax
jbe 0x4e4607
mov ecx, dword [esp + 0xc4]
cmp ecx, 1
jne 0x4e3d7e
cmp edx, 0x400
jne 0x4e3d47
cmp eax, 0xa0
jne 0x4e3d5d
jmp 0x4e3dbf
cmp edx, 0x800
jne 0x4e3d5d
cmp eax, 0xe0
je 0x4e3dbf
cmp eax, 0x100
je 0x4e3dbf
call fcn.00476d60
push 0x5fcf00
push 0x4d
push str.crypto_ffc_ffc_params_generate.c
call fcn.00476e60
push 0
push 0x7f
push 5
jmp 0x4e45ff
test ecx, ecx
jne 0x4e4607
cmp edx, 0xc00
jb 0x4e3d97
cmp eax, 0x100
jb 0x4e3d9f
jmp 0x4e3dbf
cmp edx, 0x800
jb 0x4e3da8
cmp eax, 0xe0
jb 0x4e3db4
jmp 0x4e3dbf
cmp edx, 0x400
jb 0x4e45e3
cmp eax, 0xa0
jb 0x4e45e3
call fcn.00477b70
mov dword [esp + 0x6c], eax
mov esi, ebp
test eax, eax
je 0x4e4613
push dword [esp + 0x54]
call fcn.00474e40
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
je 0x4e4615
push edi
call fcn.00474f10
push edi
call fcn.00474cc0
push edi
mov dword [esp + 0x4c], eax
call fcn.00474cc0
push edi
mov dword [esp + 0x64], eax
call fcn.00474cc0
push edi
mov dword [esp + 0x6c], eax
call fcn.00474cc0
push edi
mov dword [esp + 0x60], eax
call fcn.00474cc0
add esp, 0x18
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4e4615
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x14]
test eax, eax
cmove eax, dword [esp + 0x3c]
xor edi, edi
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x10]
test eax, eax
cmovne edi, eax
cmp dword [esp + 0xc0], 0
mov dword [esp + 0x30], edi
je 0x4e3e81
xor ecx, ecx
cmp dword [esi + 4], ecx
sete cl
xor eax, eax
cmp dword [esi], eax
sete al
cmp eax, ecx
je 0x4e3ec9
mov eax, dword [esp + 0x18]
mov dword [eax], 0x800
mov esi, ebp
mov edi, dword [esp + 0x10]
jmp 0x4e4615
mov ecx, dword [esp + 0x38]
test cl, 1
je 0x4e3ea9
test edi, edi
je 0x4e3e94
cmp dword [esi + 0x18], 0
jge 0x4e3ea9
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x4e4615
test cl, 2
je 0x4e3ecd
cmp dword [esi + 8], 0
jne 0x4e3ecd
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x400
jmp 0x4e4615
mov ecx, dword [esp + 0x38]
mov eax, dword [esi]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4e3ee8
test cl, 1
jne 0x4e3ee8
mov ebx, dword [esi + 4]
mov dword [esp + 0x24], ebx
jmp 0x4e4282
mov esi, dword [esp + 0x10]
push esi
call fcn.00474cc0
push esi
mov dword [esp + 0x28], eax
call fcn.00474cc0
add esp, 8
mov dword [esp + 0x24], eax
mov esi, ebp
test eax, eax
je 0x4e3e78
mov ecx, dword [esp + 0x2c]
lea eax, [ecx*8]
cmp eax, dword [esp + 0x44]
jae 0x4e3f31
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [eax], 0x40000
jmp 0x4e4615
push 0x283
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.00476a70
add esp, 0xc
mov dword [esp + 0x50], eax
mov esi, ebp
test eax, eax
je 0x4e3e78
test edi, edi
jne 0x4e3f98
cmp dword [esp + 0xc0], edi
jne 0x4e3f72
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x4e4615
push 0x28e
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x34]
call fcn.00476a70
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x30], ecx
mov esi, ebp
test ecx, ecx
je 0x4e3e78
cmp dword [esp + 0xc0], 0
mov edx, dword [esp + 0xc8]
mov edi, dword [esp + 0x1c]
lea ecx, [edx*4 - 1]
mov dword [esp + 0x44], ecx
jne 0x4e3fd8
mov eax, dword [edi + 0x18]
cmp eax, ecx
jle 0x4e3fd4
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x1000
jmp 0x4e4615
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x3c]
mov esi, ebp
lea ecx, [eax*8]
lea eax, [edx - 1]
xor edx, edx
div ecx
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc8]
dec eax
push eax
call fcn.00470180
push eax
push dword [esp + 0x50]
call fcn.00475ca0
add esp, 0xc
test eax, eax
je 0x4e3e78
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
nop
push ebp
call fcn.00494cd0
push dword [esp + 0x14]
mov edi, eax
call fcn.00475010
push dword [esp + 0x3c]
mov dword [esp + 0x54], eax
push 0
push dword [esp + 0x38]
call fcn.00530690
add esp, 0x14
test eax, eax
je 0x4e3e76
nop
inc dword [esp + 0x34]
cmp esi, dword [esp + 0x3c]
je 0x4e4075
push 0
push dword [esp + 0x30]
push esi
push dword [esp + 0x54]
call fcn.00473a20
add esp, 0x10
test eax, eax
jle 0x4e3e76
push 0
push ebp
push 0
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x3c]
push esi
call fcn.004770e0
add esp, 0x18
test eax, eax
je 0x4e3e76
lea esi, [esp + 0x70]
cmp edi, ebx
jle 0x4e40a4
mov eax, edi
sub eax, ebx
add esi, eax
jmp 0x4e40bc
jge 0x4e40bc
mov eax, ebx
sub eax, edi
push eax
lea eax, [esp + 0x74]
add eax, edi
push 0
push eax
call fcn.0059e1f0
add esp, 0xc
push dword [esp + 0x24]
or byte [esi], 0x80
or byte [esi + ebx - 1], 1
push ebx
push esi
call fcn.0046f3d0
add esp, 0xc
test eax, eax
je 0x4e3e76
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
push dword [esp + 0x14]
push esi
call fcn.005306e0
add esp, 0xc
test eax, eax
jg 0x4e412d
mov esi, dword [esp + 0x30]
cmp esi, dword [esp + 0x3c]
je 0x4e41fc
test eax, eax
jne 0x4e3e76
push dword [esp + 0x34]
push eax
push dword [esp + 0x30]
call fcn.00530690
add esp, 0xc
test eax, eax
jne 0x4e4050
mov edi, dword [esp + 0x10]
mov esi, ebp
jmp 0x4e4615
cmp dword [esp + 0xc0], 0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
jne 0x4e4157
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
push esi
call fcn.0046f690
add esp, 8
test eax, eax
jne 0x4e420e
mov esi, dword [esp + 0x28]
push 0
push 2
push esi
call fcn.00530690
add esp, 0xc
test eax, eax
je 0x4e3e76
push 0
push 3
push esi
call fcn.00530690
add esp, 0xc
test eax, eax
je 0x4e3e76
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
push edi
push esi
push dword [esp + 0x58]
call fcn.0059db90
push dword [esp + 0x24]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x3c]
push dword [esp + 0xe0]
push dword [esp + 0x3c]
push dword [esp + 0x44]
push edi
push dword [esp + 0x78]
mov edi, dword [esp + 0x3c]
push dword [esp + 0x8c]
push dword [esp + 0x74]
push ebp
push edi
call fcn.004e2f70
add esp, 0x3c
test eax, eax
jg 0x4e4223
js 0x4e41f5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
cmp esi, eax
jne 0x4e4020
mov eax, dword [esp + 0x18]
mov dword [eax], 1
mov esi, ebp
jmp 0x4e4615
mov eax, dword [esp + 0x18]
or dword [eax], 0x10
mov edi, dword [esp + 0x10]
mov esi, ebp
jmp 0x4e4615
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x4000
jmp 0x4e4615
push 1
push 2
push dword [esp + 0x30]
mov esi, ebp
call fcn.00530690
add esp, 0xc
test eax, eax
je 0x4e4615
cmp dword [esp + 0xc0], 0
jne 0x4e426c
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x5c], eax
jne 0x4e41f5
mov eax, dword [esp + 0x1c]
push dword [eax]
push dword [esp + 0x24]
call fcn.0046f690
add esp, 8
test eax, eax
je 0x4e426c
jmp 0x4e4615
mov eax, dword [esp + 0x38]
and al, 3
cmp al, 1
je 0x4e45bb
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
call fcn.00479a30
mov dword [esp + 0x14], eax
mov esi, ebp
test eax, eax
je 0x4e44a7
push dword [esp + 0x10]
push dword [esp + 0x24]
push eax
call fcn.00479ac0
add esp, 0xc
test eax, eax
je 0x4e44a7
test byte [esp + 0x38], 2
je 0x4e42e1
push dword [esp + 0x18]
mov eax, dword [esp + 0x20]
push dword [esp + 0x50]
push dword [eax + 8]
push ebx
push dword [esp + 0x30]
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.0051fcc0
add esp, 0x1c
test eax, eax
je 0x4e44a7
call fcn.00470180
mov esi, dword [esp + 0x54]
push eax
push dword [esp + 0x24]
push esi
call fcn.004707f0
add esp, 0xc
test eax, eax
je 0x4e44a5
push dword [esp + 0x10]
push ebx
push esi
push 0
push dword [esp + 0x68]
call fcn.0047ce90
add esp, 0x14
test eax, eax
je 0x4e44a5
test edi, edi
je 0x4e44b4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x60], eax
cmp eax, 0xffffffff
je 0x4e44b4
push ebp
mov dword [esp + 0x6c], 1
call fcn.00494cd0
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
jle 0x4e4458
call fcn.00477b70
mov esi, eax
test esi, esi
je 0x4e4458
mov ebx, 1
nop dword [eax]
mov eax, dword [esp + 0x60]
mov byte [esp + 0x70], al
mov eax, ebx
push 0
sar eax, 8
push ebp
push esi
mov byte [esp + 0x7d], al
mov byte [esp + 0x7e], bl
call fcn.00477550
add esp, 0xc
test eax, eax
je 0x4e444f
push dword [esp + 0x2c]
push edi
push esi
call fcn.00477590
add esp, 0xc
test eax, eax
je 0x4e444f
push 4
push str.ggenffc_validate_LN
push esi
call fcn.00477590
add esp, 0xc
test eax, eax
je 0x4e444f
push 3
lea eax, [esp + 0x74]
push eax
push esi
call fcn.00477590
add esp, 0xc
test eax, eax
je 0x4e444f
push 0
lea eax, [esp + 0x74]
push eax
push esi
call fcn.00477420
add esp, 0xc
test eax, eax
je 0x4e444f
push dword [esp + 0x4c]
lea eax, [esp + 0x74]
push dword [esp + 0x4c]
push eax
call fcn.0046f3d0
add esp, 0xc
test eax, eax
je 0x4e444f
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [esp + 0x28]
push dword [esp + 0x64]
push dword [esp + 0x5c]
push dword [esp + 0x54]
call fcn.0047d440
add esp, 0x18
test eax, eax
je 0x4e444f
call fcn.00470180
push eax
push dword [esp + 0x44]
call fcn.0046f690
add esp, 8
test eax, eax
jg 0x4e4471
inc ebx
cmp ebx, 0xffff
jle 0x4e4370
push esi
call fcn.00477ae0
add esp, 4
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [eax], 0x400
jmp 0x4e4617
push esi
call fcn.00477ae0
add esp, 4
cmp dword [esp + 0xc0], 0
jne 0x4e44ef
mov eax, dword [esp + 0x1c]
push dword [eax + 8]
push dword [esp + 0x44]
call fcn.0046f690
add esp, 8
test eax, eax
je 0x4e44ef
mov eax, dword [esp + 0x18]
mov dword [eax], 0x8000
mov esi, ebp
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
jmp 0x4e4617
cmp dword [esp + 0xc0], 0
je 0x4e44f3
lea eax, [esp + 0x64]
mov esi, ebp
push eax
push dword [esp + 0x58]
push dword [esp + 0x60]
push dword [esp + 0x2c]
push dword [esp + 0x5c]
push dword [esp + 0x54]
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call fcn.004e3490
add esp, 0x20
test eax, eax
je 0x4e44a7
jmp 0x4e44f3
mov ebx, dword [esp + 0x24]
push 1
push 3
push dword [esp + 0x30]
mov esi, ebp
call fcn.00530690
add esp, 0xc
test eax, eax
je 0x4e44a7
cmp dword [esp + 0xc0], 0
je 0x4e45b7
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
cmp dword [esp + 0x20], eax
je 0x4e4537
push eax
call fcn.0046f9b0
push dword [esp + 0x24]
call fcn.0046f8d0
add esp, 8
mov dword [esi], eax
mov eax, dword [esi + 4]
cmp ebx, eax
je 0x4e4550
push eax
call fcn.0046f9b0
push ebx
call fcn.0046f8d0
add esp, 8
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
je 0x4e456d
push eax
call fcn.0046f9b0
push ebx
call fcn.0046f8d0
add esp, 8
mov dword [esi + 8], eax
cmp dword [esi], 0
je 0x4e44a5
cmp dword [esi + 4], 0
je 0x4e44a5
cmp dword [esi + 8], 0
je 0x4e44a5
push dword [esp + 0x5c]
mov ebx, dword [esp + 0x20]
mov esi, ebp
push dword [esp + 0x30]
push edi
push ebx
call fcn.004e2d10
mov edi, dword [esp + 0x20]
add esp, 0x10
test eax, eax
je 0x4e44ab
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x24], eax
jmp 0x4e45bb
mov edi, dword [esp + 0x10]
test byte [esp + 0x38], 2
je 0x4e45d6
cmp dword [esp + 0x68], 0
jne 0x4e45d6
mov esi, ebp
mov ebx, 2
mov ebp, dword [esp + 0x14]
jmp 0x4e4619
mov esi, ebp
mov ebx, 1
mov ebp, dword [esp + 0x14]
jmp 0x4e4619
call fcn.00476d60
push 0x5fcf00
push 0x57
push str.crypto_ffc_ffc_params_generate.c
call fcn.00476e60
push 0
push 0x72
push 0xa
call fcn.00476f10
add esp, 0x18
mov eax, dword [esp + 0x18]
mov esi, ebp
mov dword [eax], 0x20000
xor edi, edi
xor ebp, ebp
xor ebx, ebx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
cmp ecx, dword [eax + 0x10]
je 0x4e4639
push 0x31a
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.00476aa0
add esp, 0xc
push 0x31b
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x58]
call fcn.00476aa0
add esp, 0xc
test edi, edi
je 0x4e465c
push edi
call fcn.00474bc0
add esp, 4
push edi
call fcn.00474c30
push ebp
call fcn.004799e0
push dword [esp + 0x74]
call fcn.00477ae0
push esi
call fcn.00477c30
mov ecx, dword [esp + 0xc0]
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059c3d3
add esp, 0xa4
ret
mov dword [ebx], 0x20
xor edi, edi
jmp 0x4e4617