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

Disassembly:
mov eax, 0xa4
call fcn.0060ff70
mov eax, dword [0x6ed0a4]
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 0x545581
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x38], eax
jmp 0x545585
mov dword [esp + 0x38], esi
mov dword [ebx], esi
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
jne 0x5455d7
test edi, edi
jne 0x5455a8
cmp dword [esp + 0xc8], 0x800
sbb edi, edi
and edi, 0xffffffa0
add edi, 0x100
cmp edi, 0xa0
jne 0x5455b7
mov ecx, str.SHA1
jmp 0x5455d7
cmp edi, 0xe0
jne 0x5455c6
mov ecx, str.SHA_224
jmp 0x5455d7
cmp edi, 0x100
jne 0x545f95
mov ecx, str.SHA_256
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x30]
push eax
push ecx
push edx
call fcn.004aa120
mov ebp, eax
add esp, 0xc
mov esi, ebp
test ebp, ebp
je 0x545f13
push ebp
call fcn.004cd7c0
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x545f13
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 0x545f07
mov ecx, dword [esp + 0xc4]
cmp ecx, 1
jne 0x54567e
cmp edx, 0x400
jne 0x545647
cmp eax, 0xa0
jne 0x54565d
jmp 0x5456bf
cmp edx, 0x800
jne 0x54565d
cmp eax, 0xe0
je 0x5456bf
cmp eax, 0x100
je 0x5456bf
call fcn.004bef90
push 0x68ac74
push 0x4d
push str.crypto_ffc_ffc_params_generate.c
call fcn.004bf090
push 0
push 0x7f
push 5
jmp 0x545eff
test ecx, ecx
jne 0x545f07
cmp edx, 0xc00
jb 0x545697
cmp eax, 0x100
jb 0x54569f
jmp 0x5456bf
cmp edx, 0x800
jb 0x5456a8
cmp eax, 0xe0
jb 0x5456b4
jmp 0x5456bf
cmp edx, 0x400
jb 0x545ee3
cmp eax, 0xa0
jb 0x545ee3
call fcn.004a9f80
mov dword [esp + 0x6c], eax
mov esi, ebp
test eax, eax
je 0x545f13
push dword [esp + 0x54]
call fcn.004e7d50
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
je 0x545f15
push edi
call fcn.004e7e20
push edi
call fcn.004e7bd0
push edi
mov dword [esp + 0x4c], eax
call fcn.004e7bd0
push edi
mov dword [esp + 0x64], eax
call fcn.004e7bd0
push edi
mov dword [esp + 0x6c], eax
call fcn.004e7bd0
push edi
mov dword [esp + 0x60], eax
call fcn.004e7bd0
add esp, 0x18
mov dword [esp + 0x4c], eax
test eax, eax
je 0x545f15
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 0x545781
xor ecx, ecx
cmp dword [esi + 4], ecx
sete cl
xor eax, eax
cmp dword [esi], eax
sete al
cmp eax, ecx
je 0x5457c9
mov eax, dword [esp + 0x18]
mov dword [eax], 0x800
mov esi, ebp
mov edi, dword [esp + 0x10]
jmp 0x545f15
mov ecx, dword [esp + 0x38]
test cl, 1
je 0x5457a9
test edi, edi
je 0x545794
cmp dword [esi + 0x18], 0
jge 0x5457a9
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x545f15
test cl, 2
je 0x5457cd
cmp dword [esi + 8], 0
jne 0x5457cd
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x400
jmp 0x545f15
mov ecx, dword [esp + 0x38]
mov eax, dword [esi]
mov dword [esp + 0x20], eax
test eax, eax
je 0x5457e8
test cl, 1
jne 0x5457e8
mov ebx, dword [esi + 4]
mov dword [esp + 0x24], ebx
jmp 0x545b82
mov esi, dword [esp + 0x10]
push esi
call fcn.004e7bd0
push esi
mov dword [esp + 0x28], eax
call fcn.004e7bd0
add esp, 8
mov dword [esp + 0x24], eax
mov esi, ebp
test eax, eax
je 0x545778
mov ecx, dword [esp + 0x2c]
lea eax, [ecx*8]
cmp eax, dword [esp + 0x44]
jae 0x545831
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [eax], 0x100
jmp 0x545f15
push 0x283
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.004a1ac0
add esp, 0xc
mov dword [esp + 0x50], eax
mov esi, ebp
test eax, eax
je 0x545778
test edi, edi
jne 0x545898
cmp dword [esp + 0xc0], edi
jne 0x545872
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x545f15
push 0x28e
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x34]
call fcn.004a1ac0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x30], ecx
mov esi, ebp
test ecx, ecx
je 0x545778
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 0x5458d8
mov eax, dword [edi + 0x18]
cmp eax, ecx
jle 0x5458d4
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x1000
jmp 0x545f15
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.004a6370
push eax
push dword [esp + 0x50]
call fcn.005108f0
add esp, 0xc
test eax, eax
je 0x545778
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
nop
push ebp
call fcn.004cd7c0
push dword [esp + 0x14]
mov edi, eax
call fcn.004e7f20
push dword [esp + 0x3c]
mov dword [esp + 0x54], eax
push 0
push dword [esp + 0x38]
call fcn.0055eb70
add esp, 0x14
test eax, eax
je 0x545776
nop
inc dword [esp + 0x34]
cmp esi, dword [esp + 0x3c]
je 0x545975
push 0
push dword [esp + 0x30]
push esi
push dword [esp + 0x54]
call fcn.004b87c0
add esp, 0x10
test eax, eax
js 0x545776
push 0
push ebp
push 0
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x3c]
push esi
call fcn.004a9430
add esp, 0x18
test eax, eax
je 0x545776
lea esi, [esp + 0x70]
cmp edi, ebx
jle 0x5459a4
mov eax, edi
sub eax, ebx
add esi, eax
jmp 0x5459bc
jge 0x5459bc
mov eax, ebx
sub eax, edi
push eax
lea eax, [esp + 0x74]
add eax, edi
push 0
push eax
call fcn.00612090
add esp, 0xc
push dword [esp + 0x24]
or byte [esi], 0x80
or byte [esi + ebx - 1], 1
push ebx
push esi
call fcn.004a5690
add esp, 0xc
test eax, eax
je 0x545776
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
push dword [esp + 0x14]
push esi
call fcn.0055ebc0
add esp, 0xc
test eax, eax
jg 0x545a2d
mov esi, dword [esp + 0x30]
cmp esi, dword [esp + 0x3c]
je 0x545afc
test eax, eax
jne 0x545776
push dword [esp + 0x34]
push eax
push dword [esp + 0x30]
call fcn.0055eb70
add esp, 0xc
test eax, eax
jne 0x545950
mov edi, dword [esp + 0x10]
mov esi, ebp
jmp 0x545f15
cmp dword [esp + 0xc0], 0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
jne 0x545a57
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
push esi
call fcn.004a5950
add esp, 8
test eax, eax
jne 0x545b0e
mov esi, dword [esp + 0x28]
push 0
push 2
push esi
call fcn.0055eb70
add esp, 0xc
test eax, eax
je 0x545776
push 0
push 3
push esi
call fcn.0055eb70
add esp, 0xc
test eax, eax
je 0x545776
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
push edi
push esi
push dword [esp + 0x58]
call fcn.00611b10
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.00544870
add esp, 0x3c
test eax, eax
jg 0x545b23
js 0x545af5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
cmp esi, eax
jne 0x545920
mov eax, dword [esp + 0x18]
mov dword [eax], 1
mov esi, ebp
jmp 0x545f15
mov eax, dword [esp + 0x18]
or dword [eax], 0x10
mov edi, dword [esp + 0x10]
mov esi, ebp
jmp 0x545f15
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x4000
jmp 0x545f15
push 1
push 2
push dword [esp + 0x30]
mov esi, ebp
call fcn.0055eb70
add esp, 0xc
test eax, eax
je 0x545f15
cmp dword [esp + 0xc0], 0
jne 0x545b6c
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x5c], eax
jne 0x545af5
mov eax, dword [esp + 0x1c]
push dword [eax]
push dword [esp + 0x24]
call fcn.004a5950
add esp, 8
test eax, eax
je 0x545b6c
jmp 0x545f15
mov eax, dword [esp + 0x38]
and al, 3
cmp al, 1
je 0x545ebb
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
call fcn.004c2e00
mov dword [esp + 0x14], eax
mov esi, ebp
test eax, eax
je 0x545da7
push dword [esp + 0x10]
push dword [esp + 0x24]
push eax
call fcn.004c2e90
add esp, 0xc
test eax, eax
je 0x545da7
test byte [esp + 0x38], 2
je 0x545be1
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.0052c6f0
add esp, 0x1c
test eax, eax
je 0x545da7
call fcn.004a6370
mov esi, dword [esp + 0x54]
push eax
push dword [esp + 0x24]
push esi
call fcn.004e7fc0
add esp, 0xc
test eax, eax
je 0x545da5
push dword [esp + 0x10]
push ebx
push esi
push 0
push dword [esp + 0x68]
call fcn.005103f0
add esp, 0x14
test eax, eax
je 0x545da5
test edi, edi
je 0x545db4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x60], eax
cmp eax, 0xffffffff
je 0x545db4
push ebp
mov dword [esp + 0x6c], 1
call fcn.004cd7c0
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
jle 0x545d58
call fcn.004a9f80
mov esi, eax
test esi, esi
je 0x545d58
mov ebx, 1
nop dword [eax]
mov eax, dword [esp + 0x60]
mov byte [esp + 0x70], al
mov eax, ebx
push 0
shr eax, 8
push ebp
push esi
mov byte [esp + 0x7d], al
mov byte [esp + 0x7e], bl
call fcn.004a9890
add esp, 0xc
test eax, eax
je 0x545d4f
push dword [esp + 0x2c]
push edi
push esi
call fcn.004a98d0
add esp, 0xc
test eax, eax
je 0x545d4f
push 4
push str.ggenffc_validate_LN
push esi
call fcn.004a98d0
add esp, 0xc
test eax, eax
je 0x545d4f
push 3
lea eax, [esp + 0x74]
push eax
push esi
call fcn.004a98d0
add esp, 0xc
test eax, eax
je 0x545d4f
push 0
lea eax, [esp + 0x74]
push eax
push esi
call fcn.004a9760
add esp, 0xc
test eax, eax
je 0x545d4f
push dword [esp + 0x4c]
lea eax, [esp + 0x74]
push dword [esp + 0x4c]
push eax
call fcn.004a5690
add esp, 0xc
test eax, eax
je 0x545d4f
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.0051f950
add esp, 0x18
test eax, eax
je 0x545d4f
call fcn.004a6370
push eax
push dword [esp + 0x44]
call fcn.004a5950
add esp, 8
test eax, eax
jg 0x545d71
inc ebx
cmp ebx, 0xffff
jle 0x545c70
push esi
call fcn.004a9ef0
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 0x545f17
push esi
call fcn.004a9ef0
add esp, 4
cmp dword [esp + 0xc0], 0
jne 0x545def
mov eax, dword [esp + 0x1c]
push dword [eax + 8]
push dword [esp + 0x44]
call fcn.004a5950
add esp, 8
test eax, eax
je 0x545def
mov eax, dword [esp + 0x18]
mov dword [eax], 0x8000
mov esi, ebp
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
jmp 0x545f17
cmp dword [esp + 0xc0], 0
je 0x545df3
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.00544d90
add esp, 0x20
test eax, eax
je 0x545da7
jmp 0x545df3
mov ebx, dword [esp + 0x24]
push 1
push 3
push dword [esp + 0x30]
mov esi, ebp
call fcn.0055eb70
add esp, 0xc
test eax, eax
je 0x545da7
cmp dword [esp + 0xc0], 0
je 0x545eb7
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
cmp dword [esp + 0x20], eax
je 0x545e37
push eax
call fcn.004a5c70
push dword [esp + 0x24]
call fcn.004a5b90
add esp, 8
mov dword [esi], eax
mov eax, dword [esi + 4]
cmp ebx, eax
je 0x545e50
push eax
call fcn.004a5c70
push ebx
call fcn.004a5b90
add esp, 8
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
je 0x545e6d
push eax
call fcn.004a5c70
push ebx
call fcn.004a5b90
add esp, 8
mov dword [esi + 8], eax
cmp dword [esi], 0
je 0x545da5
cmp dword [esi + 4], 0
je 0x545da5
cmp dword [esi + 8], 0
je 0x545da5
push dword [esp + 0x5c]
mov ebx, dword [esp + 0x20]
mov esi, ebp
push dword [esp + 0x30]
push edi
push ebx
call fcn.004eaa70
mov edi, dword [esp + 0x20]
add esp, 0x10
test eax, eax
je 0x545dab
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x24], eax
jmp 0x545ebb
mov edi, dword [esp + 0x10]
test byte [esp + 0x38], 2
je 0x545ed6
cmp dword [esp + 0x68], 0
jne 0x545ed6
mov esi, ebp
mov ebx, 2
mov ebp, dword [esp + 0x14]
jmp 0x545f19
mov esi, ebp
mov ebx, 1
mov ebp, dword [esp + 0x14]
jmp 0x545f19
call fcn.004bef90
push 0x68ac74
push 0x57
push str.crypto_ffc_ffc_params_generate.c
call fcn.004bf090
push 0
push 0x72
push 0xa
call fcn.004bf140
add esp, 0x18
mov eax, dword [esp + 0x18]
mov esi, ebp
mov dword [eax], 0x80
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 0x545f39
push 0x31a
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.004a1af0
add esp, 0xc
push 0x31b
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x58]
call fcn.004a1af0
add esp, 0xc
test edi, edi
je 0x545f5c
push edi
call fcn.004e7ad0
add esp, 4
push edi
call fcn.004e7b40
push ebp
call fcn.004c2db0
push dword [esp + 0x74]
call fcn.004a9ef0
push esi
call fcn.004aa150
mov ecx, dword [esp + 0xc0]
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0060f4a4
add esp, 0xa4
ret
mov dword [ebx], 0x20
xor edi, edi
jmp 0x545f17