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

Disassembly:
mov eax, 0xa8
call fcn.00486420
mov eax, dword [0x67a114]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
push ebx
push ebp
mov ebp, dword [esp + 0xcc]
xor ebx, ebx
push esi
mov dword [esp + 0x2c], eax
xor esi, esi
xor eax, eax
mov dword [esp + 0x14], ecx
push edi
mov edi, dword [esp + 0xd0]
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x64], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
cmp dword [esp + 0xc4], eax
jne 0x4fea59
mov eax, dword [ecx + 0x28]
mov dword [ebp], ebx
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x40], eax
test ecx, ecx
jne 0x4feab0
test edi, edi
jne 0x4fea81
cmp dword [esp + 0xcc], 0x800
sbb edi, edi
and edi, 0xffffffa0
add edi, 0x100
cmp edi, 0xa0
jne 0x4fea90
mov ecx, str.SHA1
jmp 0x4feab0
cmp edi, 0xe0
jne 0x4fea9f
mov ecx, str.SHA_224
jmp 0x4feab0
cmp edi, 0x100
jne 0x4ff4c5
mov ecx, str.SHA_256
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x30]
push eax
push ecx
push edx
call fcn.0048bd10
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x28], ebx
mov esi, ebx
test ebx, ebx
je 0x4ff443
push ebx
call fcn.004a1be0
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
jle 0x4ff443
mov ecx, dword [esp + 0xcc]
lea ebp, [eax*8]
test edi, edi
cmovne ebp, edi
mov ebx, ebp
shr ebx, 3
cmp ecx, ebp
jbe 0x4ff435
mov eax, dword [esp + 0xc8]
cmp eax, 1
jne 0x4feb5e
cmp ecx, 0x400
jne 0x4feb25
cmp ebp, 0xa0
jne 0x4feb3d
jmp 0x4feb9e
cmp ecx, 0x800
jne 0x4feb3d
cmp ebp, 0xe0
je 0x4feb9e
cmp ebp, 0x100
je 0x4feb9e
call fcn.00493aa0
push 0x612f84
push 0x4d
push str.crypto_ffc_ffc_params_generate.c
call fcn.00493ba0
push 0
push 0x7f
push 5
jmp 0x4ff42d
test eax, eax
jne 0x4ff435
cmp ecx, 0xc00
jb 0x4feb76
cmp ebp, 0x100
jae 0x4feb9e
cmp ecx, 0x800
jb 0x4feb86
cmp ebp, 0xe0
jae 0x4feb9e
cmp ecx, 0x400
jb 0x4ff411
cmp ebp, 0xa0
jb 0x4ff411
call fcn.0048bc80
mov edi, dword [esp + 0x28]
mov esi, edi
mov dword [esp + 0x70], eax
test eax, eax
je 0x4ff443
push dword [esp + 0x44]
call fcn.00497c80
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x4fec5d
mov esi, eax
push esi
call fcn.00497d50
push esi
call fcn.00497af0
push esi
mov dword [esp + 0x54], eax
call fcn.00497af0
push esi
mov dword [esp + 0x54], eax
call fcn.00497af0
push esi
mov dword [esp + 0x70], eax
call fcn.00497af0
push esi
mov dword [esp + 0x68], eax
call fcn.00497af0
add esp, 0x18
mov dword [esp + 0x54], eax
mov esi, edi
test eax, eax
je 0x4fec5d
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x14]
test eax, eax
cmove eax, dword [esp + 0x38]
xor esi, esi
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 0x10]
test eax, eax
cmovne esi, eax
cmp dword [esp + 0xc4], 0
mov dword [esp + 0x24], esi
je 0x4fec66
mov esi, dword [esp + 0x18]
xor ecx, ecx
cmp dword [esi + 4], ecx
sete cl
xor eax, eax
cmp dword [esi], eax
sete al
cmp eax, ecx
je 0x4fecae
mov eax, dword [esp + 0x1c]
mov esi, edi
mov dword [eax], 0x800
mov ebx, dword [esp + 0x10]
jmp 0x4ff445
mov edx, dword [esp + 0x40]
test dl, 1
je 0x4fec8e
test esi, esi
je 0x4fec79
cmp dword [ecx + 0x18], 0
jge 0x4fec8e
mov eax, dword [esp + 0x1c]
mov esi, edi
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x4ff445
test dl, 2
je 0x4fecb4
cmp dword [ecx + 8], 0
jne 0x4fecb4
mov eax, dword [esp + 0x1c]
mov esi, edi
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x400
jmp 0x4ff445
mov edx, dword [esp + 0x40]
mov ecx, esi
mov eax, dword [ecx]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4fecd7
test dl, 1
jne 0x4fecd7
mov ebx, dword [ecx + 4]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x2c], ebx
jmp 0x4ff093
mov esi, dword [esp + 0x10]
push esi
call fcn.00497af0
push esi
mov dword [esp + 0x28], eax
call fcn.00497af0
add esp, 8
mov dword [esp + 0x2c], eax
mov esi, edi
test eax, eax
je 0x4fec5d
mov ecx, dword [esp + 0x34]
lea eax, [ecx*8]
cmp eax, ebp
jae 0x4fed1e
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov dword [eax], 0x100
jmp 0x4ff445
push 0x283
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.00493580
mov ebp, dword [esp + 0x34]
mov edi, eax
add esp, 0xc
mov dword [esp + 0x14], edi
mov esi, ebp
test edi, edi
je 0x4fed5c
cmp dword [esp + 0x24], 0
jne 0x4fed87
cmp dword [esp + 0xc4], 0
jne 0x4fed65
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x200
mov ebx, dword [esp + 0x10]
jmp 0x4ff447
push 0x28e
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x3c]
call fcn.00493580
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x24], ecx
mov esi, ebp
test ecx, ecx
je 0x4fed5c
cmp dword [esp + 0xc4], 0
mov edx, dword [esp + 0xcc]
mov edi, dword [esp + 0x18]
lea ecx, [edx*4 - 1]
mov dword [esp + 0x58], ecx
jne 0x4fedcb
mov eax, dword [edi + 0x18]
cmp eax, ecx
jle 0x4fedc7
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1000
mov esi, ebp
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x4ff447
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x38]
mov esi, ebp
lea ecx, [eax*8]
lea eax, [edx - 1]
xor edx, edx
div ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xcc]
dec eax
push eax
call fcn.00497570
push eax
push dword [esp + 0x58]
call fcn.004c7210
add esp, 0xc
test eax, eax
je 0x4fedba
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x28], eax
nop dword [eax]
push ebp
call fcn.004a1be0
push dword [esp + 0x14]
mov edi, eax
call fcn.00497e50
push dword [esp + 0x44]
mov dword [esp + 0x5c], eax
push 0
push dword [esp + 0x40]
call fcn.00533790
add esp, 0x14
test eax, eax
je 0x4fedb8
nop
inc dword [esp + 0x3c]
cmp esi, dword [esp + 0x28]
je 0x4fee65
push 0
push dword [esp + 0x38]
push esi
push dword [esp + 0x5c]
call fcn.004f4c50
add esp, 0x10
test eax, eax
js 0x4fedb8
push 0
push ebp
push 0
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x44]
push esi
call fcn.0048b310
add esp, 0x18
test eax, eax
je 0x4fedb8
lea esi, [esp + 0x74]
cmp edi, ebx
jle 0x4fee97
mov eax, edi
sub eax, ebx
add esi, eax
cmp edi, ebx
jge 0x4feeaf
mov eax, ebx
sub eax, edi
push eax
lea eax, [esp + 0x78]
add eax, edi
push 0
push eax
call fcn.005aab10
add esp, 0xc
push dword [esp + 0x2c]
or byte [esi], 0x80
or byte [esi + ebx - 1], 1
push ebx
push esi
call fcn.004967d0
add esp, 0xc
test eax, eax
je 0x4fedb8
push dword [esp + 0x30]
mov esi, dword [esp + 0x30]
push dword [esp + 0x14]
push esi
call fcn.005337e0
add esp, 0xc
test eax, eax
jg 0x4fef24
mov esi, dword [esp + 0x24]
cmp esi, dword [esp + 0x28]
je 0x4feffd
test eax, eax
jne 0x4fedb8
push dword [esp + 0x3c]
push eax
push dword [esp + 0x38]
call fcn.00533790
add esp, 0xc
test eax, eax
jne 0x4fee40
mov ebx, dword [esp + 0x10]
mov esi, ebp
mov edi, dword [esp + 0x14]
jmp 0x4ff447
cmp dword [esp + 0xc4], 0
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x3c], eax
jne 0x4fef4e
mov eax, dword [esp + 0x18]
push dword [eax + 4]
push esi
call fcn.00496a50
add esp, 8
test eax, eax
jne 0x4ff013
mov esi, dword [esp + 0x30]
push 0
push 2
push esi
call fcn.00533790
add esp, 0xc
test eax, eax
je 0x4fedb8
push 0
push 3
push esi
call fcn.00533790
add esp, 0xc
test eax, eax
je 0x4fedb8
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x24]
push edi
push esi
push dword [esp + 0x1c]
call fcn.005abd00
push dword [esp + 0x28]
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x44]
push dword [esp + 0xe4]
push dword [esp + 0x3c]
push dword [esp + 0x4c]
push edi
push dword [esp + 0x3c]
mov edi, dword [esp + 0x3c]
push dword [esp + 0x64]
push dword [esp + 0x88]
push ebp
push edi
call fcn.004fdd40
add esp, 0x3c
test eax, eax
jg 0x4ff02c
js 0x4fedb8
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x28], eax
cmp esi, eax
jne 0x4fee10
mov eax, dword [esp + 0x1c]
mov ebx, edi
mov edi, dword [esp + 0x14]
mov esi, ebp
mov dword [eax], 1
jmp 0x4ff447
mov eax, dword [esp + 0x1c]
mov esi, ebp
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
or dword [eax], 0x10
jmp 0x4ff447
mov eax, dword [esp + 0x1c]
mov esi, ebp
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [eax], 0x4000
jmp 0x4ff447
push 1
push 2
push dword [esp + 0x38]
mov esi, ebp
call fcn.00533790
add esp, 0xc
test eax, eax
je 0x4fedba
cmp dword [esp + 0xc4], 0
jne 0x4ff081
mov eax, dword [esp + 0x58]
cmp dword [esp + 0x60], eax
jne 0x4fedb8
mov eax, dword [esp + 0x18]
push dword [eax]
push dword [esp + 0x24]
call fcn.00496a50
add esp, 8
test eax, eax
je 0x4ff081
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
jmp 0x4ff447
mov eax, dword [esp + 0x40]
and al, 3
cmp al, 1
je 0x4ff3db
mov ebx, dword [esp + 0x2c]
call fcn.004c43f0
mov dword [esp + 0x4c], eax
mov esi, ebp
test eax, eax
je 0x4fedba
push edi
push dword [esp + 0x24]
push eax
call fcn.004c4480
add esp, 0xc
test eax, eax
je 0x4fedba
test byte [esp + 0x40], 2
je 0x4ff0ec
push dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
push dword [esp + 0x58]
push dword [eax + 8]
push ebx
push dword [esp + 0x30]
push dword [esp + 0x60]
push edi
call fcn.00519a80
add esp, 0x1c
test eax, eax
je 0x4fedba
call fcn.00497570
mov esi, dword [esp + 0x44]
push eax
push dword [esp + 0x24]
push esi
call fcn.00497ef0
add esp, 0xc
test eax, eax
je 0x4fedb8
push edi
push ebx
push esi
push 0
push dword [esp + 0x6c]
call fcn.004c6220
add esp, 0x14
test eax, eax
je 0x4fedb8
mov edi, dword [esp + 0x24]
test edi, edi
je 0x4ff2d6
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x50], eax
cmp eax, 0xffffffff
je 0x4ff2d6
push ebp
mov dword [esp + 0x70], 1
mov dword [esp + 0x3c], 0
call fcn.004a1be0
add esp, 4
mov dword [esp + 0x44], eax
test eax, eax
jle 0x4ff2bd
call fcn.0048bc80
mov esi, eax
test esi, esi
je 0x4ff2bd
mov ebx, 1
nop dword [eax]
mov eax, dword [esp + 0x50]
mov byte [esp + 0x74], al
mov eax, ebx
push 0
sar eax, 8
push ebp
push esi
mov byte [esp + 0x81], al
mov byte [esp + 0x82], bl
call fcn.0048b780
add esp, 0xc
test eax, eax
je 0x4ff26f
push dword [esp + 0x34]
push edi
push esi
call fcn.0048b7c0
add esp, 0xc
test eax, eax
je 0x4ff26f
push 4
push str.ggenffc_validate_LN
push esi
call fcn.0048b7c0
add esp, 0xc
test eax, eax
je 0x4ff26f
push 3
lea eax, [esp + 0x78]
push eax
push esi
call fcn.0048b7c0
add esp, 0xc
test eax, eax
je 0x4ff26f
push 0
lea eax, [esp + 0x78]
push eax
push esi
call fcn.0048b650
add esp, 0xc
test eax, eax
je 0x4ff26f
push dword [esp + 0x54]
lea eax, [esp + 0x78]
push dword [esp + 0x48]
push eax
call fcn.004967d0
add esp, 0xc
test eax, eax
je 0x4ff26f
push dword [esp + 0x4c]
push dword [esp + 0x14]
push dword [esp + 0x28]
push dword [esp + 0x68]
push dword [esp + 0x64]
push dword [esp + 0x5c]
call fcn.004c8060
add esp, 0x18
test eax, eax
je 0x4ff26f
call fcn.00497570
push eax
push dword [esp + 0x4c]
call fcn.00496a50
add esp, 8
test eax, eax
jg 0x4ff267
inc ebx
cmp ebx, 0xffff
jle 0x4ff180
jmp 0x4ff26f
mov dword [esp + 0x38], 1
push esi
call fcn.0048bbf0
add esp, 4
cmp dword [esp + 0x38], 0
je 0x4ff2bd
cmp dword [esp + 0xc4], 0
jne 0x4ff315
mov eax, dword [esp + 0x18]
push dword [eax + 8]
push dword [esp + 0x4c]
call fcn.00496a50
add esp, 8
test eax, eax
je 0x4ff315
mov eax, dword [esp + 0x1c]
mov esi, ebp
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [eax], 0x8000
jmp 0x4ff447
mov eax, dword [esp + 0x1c]
mov esi, ebp
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [eax], 0x400
jmp 0x4ff447
cmp dword [esp + 0xc4], 0
je 0x4ff319
lea eax, [esp + 0x68]
mov esi, ebp
push eax
push dword [esp + 0x48]
push dword [esp + 0x64]
push dword [esp + 0x2c]
push dword [esp + 0x64]
push dword [esp + 0x5c]
push dword [esp + 0x64]
push dword [esp + 0x2c]
call fcn.004fe270
add esp, 0x20
test eax, eax
je 0x4fedba
jmp 0x4ff319
mov ebx, dword [esp + 0x2c]
push 1
push 3
push dword [esp + 0x38]
mov esi, ebp
call fcn.00533790
add esp, 0xc
test eax, eax
je 0x4fedba
cmp dword [esp + 0xc4], 0
je 0x4ff3db
mov esi, dword [esp + 0x18]
mov eax, dword [esi]
cmp dword [esp + 0x20], eax
je 0x4ff361
push eax
call fcn.00496d80
push dword [esp + 0x24]
call fcn.00496ca0
add esp, 8
mov dword [esi], eax
mov eax, dword [esi + 4]
cmp ebx, eax
je 0x4ff37a
push eax
call fcn.00496d80
push ebx
call fcn.00496ca0
add esp, 8
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x48]
cmp ebx, eax
je 0x4ff397
push eax
call fcn.00496d80
push ebx
call fcn.00496ca0
add esp, 8
mov dword [esi + 8], eax
cmp dword [esi], 0
je 0x4fedb8
cmp dword [esi + 4], 0
je 0x4fedb8
cmp dword [esi + 8], 0
je 0x4fedb8
push dword [esp + 0x60]
mov ebx, dword [esp + 0x1c]
mov esi, ebp
push dword [esp + 0x38]
push edi
push ebx
call fcn.004e53b0
add esp, 0x10
test eax, eax
je 0x4fedba
mov eax, dword [esp + 0x68]
mov dword [ebx + 0x24], eax
test byte [esp + 0x40], 2
je 0x4ff3fd
cmp dword [esp + 0x6c], 0
jne 0x4ff3fd
mov ebx, dword [esp + 0x10]
mov esi, ebp
mov edi, dword [esp + 0x14]
mov dword [esp + 0x64], 2
jmp 0x4ff447
mov ebx, dword [esp + 0x10]
mov esi, ebp
mov edi, dword [esp + 0x14]
mov dword [esp + 0x64], 1
jmp 0x4ff447
call fcn.00493aa0
push 0x612f84
push 0x57
push str.crypto_ffc_ffc_params_generate.c
call fcn.00493ba0
push 0
push 0x72
push 0xa
call fcn.00493c50
add esp, 0x18
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov dword [eax], 0x80
xor ebx, ebx
xor edi, edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [eax + 0x10]
je 0x4ff467
push 0x31a
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.004935b0
add esp, 0xc
push 0x31b
push str.crypto_ffc_ffc_params_generate.c
push edi
call fcn.004935b0
add esp, 0xc
test ebx, ebx
je 0x4ff487
push ebx
call fcn.004979f0
add esp, 4
push ebx
call fcn.00497a60
push dword [esp + 0x50]
call fcn.004c43a0
push dword [esp + 0x78]
call fcn.0048bbf0
push esi
call fcn.0048bd40
mov ecx, dword [esp + 0xc4]
add esp, 0x10
mov eax, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004862cc
add esp, 0xa8
ret
mov dword [ebp], 0x20
jmp 0x4ff445