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

Disassembly:
mov eax, 0xec
call fcn.100bab40
mov eax, dword [0x102db080]
xor eax, esp
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0xf4]
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
push ebx
push ebp
mov ebp, dword [esp + 0xf8]
xor ebx, ebx
push esi
mov esi, dword [esp + 0x110]
push edi
xor edi, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x58], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x74], ebx
cmp dword [esp + 0x108], ebx
jne 0x1014fbc5
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x3c], ecx
jmp 0x1014fbc9
mov dword [esp + 0x3c], ebx
mov dword [edx], ebx
mov eax, dword [eax + 0x2c]
test eax, eax
jne 0x1014fc1b
test esi, esi
jne 0x1014fbec
cmp dword [esp + 0x110], 0x800
sbb esi, esi
and esi, 0xffffffa0
add esi, 0x100
cmp esi, 0xa0
jne 0x1014fbfb
mov eax, str.SHA1
jmp 0x1014fc1b
cmp esi, 0xe0
jne 0x1014fc0a
mov eax, str.SHA_224
jmp 0x1014fc1b
cmp esi, 0x100
jne 0x10150621
mov eax, str.SHA_256
mov ecx, dword [esp + 0x1c]
push dword [ecx + 0x30]
push eax
push ebp
call fcn.10102020
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x38], ebx
mov edi, ebx
test ebx, ebx
je 0x1015059f
push ebx
call fcn.10107ea0
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x1015059f
mov ecx, dword [esp + 0x110]
lea ebx, [eax*8]
test esi, esi
cmovne ebx, esi
mov eax, ebx
shr eax, 3
mov dword [esp + 0x60], eax
cmp ecx, ebx
jbe 0x10150591
mov eax, dword [esp + 0x10c]
cmp eax, 1
jne 0x1014fccc
cmp ecx, 0x400
jne 0x1014fc93
cmp ebx, 0xa0
jne 0x1014fcab
jmp 0x1014fd10
cmp ecx, 0x800
jne 0x1014fcab
cmp ebx, 0xe0
je 0x1014fd10
cmp ebx, 0x100
je 0x1014fd10
call fcn.1010b5b0
push 0x1025abd8
push 0x4d
push str.crypto_ffc_ffc_params_generate.c
call fcn.1010b6b0
push 0
push 0x7f
push 5
jmp 0x10150589
test eax, eax
jne 0x10150591
cmp ecx, 0xc00
jb 0x1014fce6
cmp ebx, 0x100
jb 0x1014fcee
jmp 0x1014fd10
cmp ecx, 0x800
jb 0x1014fcf8
cmp ebx, 0xe0
jb 0x1014fd04
jmp 0x1014fd10
cmp ecx, 0x400
jb 0x1015056d
cmp ebx, 0xa0
jb 0x1015056d
call fcn.10101f90
mov edi, dword [esp + 0x38]
mov dword [esp + 0x74], eax
test eax, eax
je 0x1015059f
push ebp
call fcn.1016b390
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov ebp, edi
test esi, esi
je 0x101505a1
push esi
call fcn.1016b460
push esi
call fcn.1016b210
push esi
mov dword [esp + 0x4c], eax
call fcn.1016b210
push esi
mov dword [esp + 0x78], eax
call fcn.1016b210
push esi
mov dword [esp + 0x4c], eax
call fcn.1016b210
push esi
mov dword [esp + 0x74], eax
call fcn.1016b210
add esp, 0x18
mov dword [esp + 0x44], eax
test eax, eax
je 0x101505a1
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x14]
test eax, eax
cmove eax, dword [esp + 0x2c]
xor esi, esi
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x10]
test eax, eax
cmovne esi, eax
cmp dword [esp + 0x108], 0
mov dword [esp + 0x24], esi
je 0x1014fdf4
xor ecx, ecx
cmp dword [edi + 4], ecx
sete cl
xor eax, eax
cmp dword [edi], eax
sete al
cmp eax, ecx
je 0x1014fdd3
mov eax, dword [esp + 0x14]
mov dword [eax], 0x800
mov edi, ebp
mov esi, dword [esp + 0x10]
jmp 0x101505a1
mov eax, dword [esp + 0x3c]
and eax, 1
mov ecx, dword [edi]
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x1014fe3e
test eax, eax
jne 0x1014fe3e
mov eax, dword [edi + 4]
mov dword [esp + 0x34], eax
jmp 0x101501e6
mov ecx, dword [esp + 0x3c]
mov eax, ecx
and eax, 1
je 0x1014fe1e
test esi, esi
je 0x1014fe09
cmp dword [edi + 0x18], 0
jge 0x1014fe1e
mov eax, dword [esp + 0x14]
mov edi, ebp
mov esi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x101505a1
test cl, 2
je 0x1014fdda
cmp dword [edi + 8], 0
jne 0x1014fdda
mov eax, dword [esp + 0x14]
mov edi, ebp
mov esi, dword [esp + 0x10]
mov dword [eax], 0x400
jmp 0x101505a1
mov edi, dword [esp + 0x10]
push edi
call fcn.1016b210
push edi
mov dword [esp + 0x28], eax
call fcn.1016b210
add esp, 8
mov dword [esp + 0x34], eax
mov edi, ebp
test eax, eax
je 0x1014fdca
mov ecx, dword [esp + 0x28]
lea eax, [ecx*8]
cmp eax, ebx
jae 0x1014fe85
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax], 0x100
jmp 0x101505a1
push 0x283
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.101034e0
add esp, 0xc
mov dword [esp + 0x48], eax
mov edi, ebp
test eax, eax
je 0x1014fdca
test esi, esi
jne 0x1014feec
cmp dword [esp + 0x108], esi
jne 0x1014fec6
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x101505a1
push 0x28e
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x30]
call fcn.101034e0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x24], esi
mov edi, ebp
test esi, esi
je 0x1014fdca
cmp dword [esp + 0x108], 0
mov ecx, dword [esp + 0x110]
lea ebx, [ecx*4 - 1]
mov dword [esp + 0x50], ebx
jne 0x1014ff2c
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x18]
cmp eax, ebx
jle 0x1014ff28
mov eax, dword [esp + 0x14]
mov edi, ebp
mov esi, dword [esp + 0x10]
mov dword [eax], 0x1000
jmp 0x101505a1
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x2c]
lea esi, [ecx - 1]
xor edx, edx
mov edi, ebp
push esi
lea ecx, [eax*8]
mov eax, esi
div ecx
mov dword [esp + 0x68], eax
call fcn.10115f00
push eax
push dword [esp + 0x64]
call fcn.101167f0
add esp, 0xc
test eax, eax
je 0x1014fdca
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x1c]
nop dword [eax]
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x4c]
push ebp
mov dword [esp + 0x30], eax
call fcn.10107ea0
push dword [esp + 0x14]
mov edi, eax
call fcn.1016b560
push esi
push 0
push dword [esp + 0x40]
mov dword [esp + 0x74], eax
call fcn.10193a10
add esp, 0x14
test eax, eax
je 0x1014fdc8
inc esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x24]
cmp esi, dword [esp + 0x2c]
je 0x1014ffd5
push 0
push dword [esp + 0x2c]
push esi
push dword [esp + 0x6c]
call fcn.10133f10
add esp, 0x10
test eax, eax
jle 0x1014fdc8
push 0
push ebp
push 0
lea eax, [esp + 0xc4]
push eax
push dword [esp + 0x38]
push esi
call fcn.10101430
add esp, 0x18
test eax, eax
je 0x1014fdc8
lea esi, [esp + 0xb8]
cmp edi, ebx
jle 0x1015000a
mov eax, edi
sub eax, ebx
add esi, eax
jmp 0x10150025
jge 0x10150025
mov eax, ebx
sub eax, edi
push eax
lea eax, [esp + 0xbc]
add eax, edi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push dword [esp + 0x34]
or byte [esi], 0x80
or byte [esi + ebx - 1], 1
push ebx
push esi
call fcn.10115220
add esp, 0xc
test eax, eax
je 0x1014fdc8
push dword [esp + 0x30]
mov esi, dword [esp + 0x38]
push dword [esp + 0x14]
push esi
call fcn.10193a60
add esp, 0xc
test eax, eax
jg 0x10150097
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x24], ecx
je 0x10150160
test eax, eax
jne 0x1014fdc8
mov esi, dword [esp + 0x5c]
push esi
push eax
push dword [esp + 0x38]
call fcn.10193a10
add esp, 0xc
test eax, eax
jne 0x1014ffa7
mov esi, dword [esp + 0x10]
mov edi, ebp
jmp 0x101505a1
cmp dword [esp + 0x108], 0
mov edi, dword [esp + 0x1c]
jne 0x101500b9
push dword [edi + 4]
push esi
call fcn.101154e0
add esp, 8
test eax, eax
jne 0x10150172
mov esi, dword [esp + 0x30]
push 0
push 2
push esi
call fcn.10193a10
add esp, 0xc
test eax, eax
je 0x1014fdc8
push 0
push 3
push esi
call fcn.10193a10
add esp, 0xc
test eax, eax
je 0x1014fdc8
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
push esi
push dword [esp + 0x50]
call sub.VCRUNTIME140.dll_memcpy
push dword [esp + 0x20]
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x44]
push dword [esp + 0x128]
push dword [esp + 0x3c]
push dword [esp + 0x54]
push dword [esp + 0x4c]
push dword [esp + 0x70]
push dword [esp + 0x90]
push dword [esp + 0x80]
push ebp
push dword [esp + 0x48]
call fcn.1014ee70
add esp, 0x3c
test eax, eax
jg 0x10150187
js 0x1014fdc8
cmp esi, dword [edi + 0x10]
jne 0x1014ff70
mov eax, dword [esp + 0x14]
mov edi, ebp
mov esi, dword [esp + 0x10]
mov dword [eax], 1
jmp 0x101505a1
mov eax, dword [esp + 0x14]
mov edi, ebp
mov esi, dword [esp + 0x10]
or dword [eax], 0x10
jmp 0x101505a1
mov eax, dword [esp + 0x14]
mov edi, ebp
mov esi, dword [esp + 0x10]
mov dword [eax], 0x4000
jmp 0x101505a1
push 1
push 2
push dword [esp + 0x38]
mov edi, ebp
call fcn.10193a10
add esp, 0xc
test eax, eax
je 0x1014fdca
cmp dword [esp + 0x108], 0
jne 0x101501d8
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x54], eax
jne 0x1014fdc8
mov ebx, dword [esp + 0x1c]
push dword [ebx]
push dword [esp + 0x24]
call fcn.101154e0
add esp, 8
test eax, eax
je 0x101501d8
mov esi, dword [esp + 0x10]
jmp 0x101505a1
mov eax, dword [esp + 0x3c]
and al, 3
cmp al, 1
je 0x10150537
call fcn.1013e6c0
mov ebx, eax
mov edi, ebp
mov dword [esp + 0x18], ebx
test ebx, ebx
je 0x1015062e
push dword [esp + 0x10]
push dword [esp + 0x24]
push ebx
call fcn.1013e750
add esp, 0xc
test eax, eax
je 0x1015062e
test byte [esp + 0x3c], 2
mov ebx, dword [esp + 0x1c]
je 0x1015024a
push dword [esp + 0x14]
push dword [esp + 0x48]
push dword [ebx + 8]
push dword [esp + 0x40]
push dword [esp + 0x30]
push dword [esp + 0x2c]
push dword [esp + 0x28]
call fcn.10194b80
add esp, 0x1c
test eax, eax
je 0x10150429
call fcn.10115f00
mov edi, dword [esp + 0x68]
push eax
push dword [esp + 0x24]
push edi
call fcn.1018a9f0
add esp, 0xc
test eax, eax
je 0x10150427
push dword [esp + 0x10]
push dword [esp + 0x38]
push edi
push 0
push dword [esp + 0x48]
call fcn.10183350
add esp, 0x14
test eax, eax
je 0x10150427
test esi, esi
je 0x10150436
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x64], eax
cmp eax, 0xffffffff
je 0x10150436
push ebp
mov dword [esp + 0x74], 1
mov dword [esp + 0x30], 0
call fcn.10107ea0
mov edi, eax
add esp, 4
test edi, edi
jle 0x1015041d
call fcn.10101f90
mov esi, eax
test esi, esi
je 0x1015041d
mov ebx, 1
nop word [eax + eax]
mov eax, dword [esp + 0x64]
mov byte [esp + 0x78], al
mov eax, ebx
push 0
sar eax, 8
push ebp
push esi
mov byte [esp + 0x85], al
mov byte [esp + 0x86], bl
call fcn.101018a0
add esp, 0xc
test eax, eax
je 0x101503cf
push dword [esp + 0x28]
push dword [esp + 0x28]
push esi
call fcn.101018e0
add esp, 0xc
test eax, eax
je 0x101503cf
push 4
push str.ggenffc_validate_LN
push esi
call fcn.101018e0
add esp, 0xc
test eax, eax
je 0x101503cf
push 3
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.101018e0
add esp, 0xc
test eax, eax
je 0x101503cf
push 0
lea eax, [esp + 0x7c]
push eax
push esi
call fcn.10101770
add esp, 0xc
test eax, eax
je 0x101503cf
push dword [esp + 0x44]
lea eax, [esp + 0x7c]
push edi
push eax
call fcn.10115220
add esp, 0xc
test eax, eax
je 0x101503cf
push dword [esp + 0x18]
push dword [esp + 0x14]
push dword [esp + 0x28]
push dword [esp + 0x44]
push dword [esp + 0x54]
push dword [esp + 0x54]
call fcn.1018acc0
add esp, 0x18
test eax, eax
je 0x101503cf
call fcn.10115f00
push eax
push dword [esp + 0x44]
call fcn.101154e0
add esp, 8
test eax, eax
jg 0x101503c7
inc ebx
cmp ebx, 0xffff
jle 0x101502e0
jmp 0x101503cf
mov dword [esp + 0x2c], 1
push esi
call fcn.10101f00
add esp, 4
cmp dword [esp + 0x2c], 0
je 0x1015041d
cmp dword [esp + 0x108], 0
jne 0x10150472
mov eax, dword [esp + 0x1c]
push dword [eax + 8]
push dword [esp + 0x44]
call fcn.101154e0
add esp, 8
test eax, eax
je 0x10150472
mov eax, dword [esp + 0x14]
mov edi, ebp
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov dword [eax], 0x8000
jmp 0x101505a3
mov eax, dword [esp + 0x14]
mov dword [eax], 0x400
mov edi, ebp
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
jmp 0x101505a3
cmp dword [esp + 0x108], 0
mov ebx, dword [esp + 0x20]
je 0x1015047a
lea eax, [esp + 0x6c]
mov edi, ebp
push eax
push dword [esp + 0x6c]
push dword [esp + 0x40]
push ebx
push dword [esp + 0x54]
push dword [esp + 0x54]
push dword [esp + 0x30]
push dword [esp + 0x2c]
call fcn.1014f3d0
add esp, 0x20
test eax, eax
je 0x10150429
jmp 0x1015047a
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
push 1
push 3
push dword [esp + 0x38]
mov edi, ebp
call fcn.10193a10
add esp, 0xc
test eax, eax
je 0x10150429
cmp dword [esp + 0x108], 0
je 0x10150537
mov edi, dword [esp + 0x1c]
mov eax, dword [edi]
cmp ebx, eax
je 0x101504b9
push eax
call fcn.10115800
push ebx
call fcn.10115720
add esp, 8
mov dword [edi], eax
mov eax, dword [edi + 4]
mov ebx, dword [esp + 0x34]
cmp ebx, eax
je 0x101504d6
push eax
call fcn.10115800
push ebx
call fcn.10115720
add esp, 8
mov dword [edi + 4], eax
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
je 0x101504f3
push eax
call fcn.10115800
push ebx
call fcn.10115720
add esp, 8
mov dword [edi + 8], eax
cmp dword [edi], 0
je 0x10150427
cmp dword [edi + 4], 0
je 0x10150427
cmp dword [edi + 8], 0
je 0x10150427
push dword [esp + 0x54]
mov ebx, dword [esp + 0x20]
mov edi, ebp
push dword [esp + 0x2c]
push esi
push ebx
call fcn.1014ec00
add esp, 0x10
test eax, eax
je 0x10150429
mov eax, dword [esp + 0x6c]
mov dword [ebx + 0x24], eax
test byte [esp + 0x3c], 2
je 0x10150559
cmp dword [esp + 0x70], 0
jne 0x10150559
mov esi, dword [esp + 0x10]
mov edi, ebp
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x58], 2
jmp 0x101505a3
mov esi, dword [esp + 0x10]
mov edi, ebp
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x58], 1
jmp 0x101505a3
call fcn.1010b5b0
push 0x1025abd8
push 0x57
push str.crypto_ffc_ffc_params_generate.c
call fcn.1010b6b0
push 0
push 0x72
push 0xa
call fcn.1010b760
add esp, 0x18
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x38]
mov dword [eax], 0x80
xor esi, esi
xor ebx, ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
cmp eax, dword [ecx + 0x10]
je 0x101505c3
push 0x31a
push str.crypto_ffc_ffc_params_generate.c
push eax
call fcn.10103510
add esp, 0xc
push 0x31b
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x50]
call fcn.10103510
add esp, 0xc
test esi, esi
je 0x101505e6
push esi
call fcn.1016b110
add esp, 4
push esi
call fcn.1016b180
push ebx
call fcn.1013e670
push dword [esp + 0x7c]
call fcn.10101f00
push edi
call fcn.10102050
mov ecx, dword [esp + 0x108]
add esp, 0x10
mov eax, dword [esp + 0x58]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100b9f43
add esp, 0xec
ret
mov dword [edx], 0x20
xor esi, esi
jmp 0x101505a3
mov esi, dword [esp + 0x10]
jmp 0x101505a3