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

Disassembly:
mov eax, 0xa4
call fcn.0045cf80
mov eax, dword [0x673010]
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 0x4dd841
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x38], eax
jmp 0x4dd845
mov dword [esp + 0x38], esi
mov dword [ebx], esi
mov ecx, dword [ecx + 0x2c]
test ecx, ecx
jne 0x4dd897
test edi, edi
jne 0x4dd868
cmp dword [esp + 0xc8], 0x800
sbb edi, edi
and edi, 0xffffffa0
add edi, 0x100
cmp edi, 0xa0
jne 0x4dd877
mov ecx, str.SHA1
jmp 0x4dd897
cmp edi, 0xe0
jne 0x4dd886
mov ecx, str.SHA_224
jmp 0x4dd897
cmp edi, 0x100
jne 0x4de255
mov ecx, str.SHA_256
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x30]
push eax
push ecx
push edx
call fcn.004bb660
mov ebp, eax
add esp, 0xc
mov esi, ebp
test ebp, ebp
je 0x4de1d3
push ebp
call fcn.004aba00
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x4de1d3
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 0x4de1c7
mov ecx, dword [esp + 0xc4]
cmp ecx, 1
jne 0x4dd93e
cmp edx, 0x400
jne 0x4dd907
cmp eax, 0xa0
jne 0x4dd91d
jmp 0x4dd97f
cmp edx, 0x800
jne 0x4dd91d
cmp eax, 0xe0
je 0x4dd97f
cmp eax, 0x100
je 0x4dd97f
call fcn.004ade90
push 0x60e25c
push 0x4d
push str.crypto_ffc_ffc_params_generate.c
call fcn.004adf90
push 0
push 0x7f
push 5
jmp 0x4de1bf
test ecx, ecx
jne 0x4de1c7
cmp edx, 0xc00
jb 0x4dd957
cmp eax, 0x100
jb 0x4dd95f
jmp 0x4dd97f
cmp edx, 0x800
jb 0x4dd968
cmp eax, 0xe0
jb 0x4dd974
jmp 0x4dd97f
cmp edx, 0x400
jb 0x4de1a3
cmp eax, 0xa0
jb 0x4de1a3
call fcn.004bb5d0
mov dword [esp + 0x6c], eax
mov esi, ebp
test eax, eax
je 0x4de1d3
push dword [esp + 0x54]
call fcn.004ffde0
mov edi, eax
add esp, 4
mov dword [esp + 0x10], edi
test edi, edi
je 0x4de1d5
push edi
call fcn.004ffeb0
push edi
call fcn.004ffc60
push edi
mov dword [esp + 0x4c], eax
call fcn.004ffc60
push edi
mov dword [esp + 0x64], eax
call fcn.004ffc60
push edi
mov dword [esp + 0x6c], eax
call fcn.004ffc60
push edi
mov dword [esp + 0x60], eax
call fcn.004ffc60
add esp, 0x18
mov dword [esp + 0x4c], eax
test eax, eax
je 0x4de1d5
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 0x4dda41
xor ecx, ecx
cmp dword [esi + 4], ecx
sete cl
xor eax, eax
cmp dword [esi], eax
sete al
cmp eax, ecx
je 0x4dda89
mov eax, dword [esp + 0x18]
mov dword [eax], 0x800
mov esi, ebp
mov edi, dword [esp + 0x10]
jmp 0x4de1d5
mov ecx, dword [esp + 0x38]
test cl, 1
je 0x4dda69
test edi, edi
je 0x4dda54
cmp dword [esi + 0x18], 0
jge 0x4dda69
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x4de1d5
test cl, 2
je 0x4dda8d
cmp dword [esi + 8], 0
jne 0x4dda8d
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x400
jmp 0x4de1d5
mov ecx, dword [esp + 0x38]
mov eax, dword [esi]
mov dword [esp + 0x20], eax
test eax, eax
je 0x4ddaa8
test cl, 1
jne 0x4ddaa8
mov ebx, dword [esi + 4]
mov dword [esp + 0x24], ebx
jmp 0x4dde42
mov esi, dword [esp + 0x10]
push esi
call fcn.004ffc60
push esi
mov dword [esp + 0x28], eax
call fcn.004ffc60
add esp, 8
mov dword [esp + 0x24], eax
mov esi, ebp
test eax, eax
je 0x4dda38
mov ecx, dword [esp + 0x2c]
lea eax, [ecx*8]
cmp eax, dword [esp + 0x44]
jae 0x4ddaf1
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [eax], 0x100
jmp 0x4de1d5
push 0x283
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.004a6ea0
add esp, 0xc
mov dword [esp + 0x50], eax
mov esi, ebp
test eax, eax
je 0x4dda38
test edi, edi
jne 0x4ddb58
cmp dword [esp + 0xc0], edi
jne 0x4ddb32
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [eax], 0x200
jmp 0x4de1d5
push 0x28e
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x34]
call fcn.004a6ea0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x30], ecx
mov esi, ebp
test ecx, ecx
je 0x4dda38
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 0x4ddb98
mov eax, dword [edi + 0x18]
cmp eax, ecx
jle 0x4ddb94
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x1000
jmp 0x4de1d5
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.004a7f40
push eax
push dword [esp + 0x50]
call fcn.004f97f0
add esp, 0xc
test eax, eax
je 0x4dda38
mov eax, dword [edi + 0x10]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
nop
push ebp
call fcn.004aba00
push dword [esp + 0x14]
mov edi, eax
call fcn.004fffb0
push dword [esp + 0x3c]
mov dword [esp + 0x54], eax
push 0
push dword [esp + 0x38]
call fcn.0052b4d0
add esp, 0x14
test eax, eax
je 0x4dda36
nop
inc dword [esp + 0x34]
cmp esi, dword [esp + 0x3c]
je 0x4ddc35
push 0
push dword [esp + 0x30]
push esi
push dword [esp + 0x54]
call fcn.004d00a0
add esp, 0x10
test eax, eax
jle 0x4dda36
push 0
push ebp
push 0
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x3c]
push esi
call fcn.004bab40
add esp, 0x18
test eax, eax
je 0x4dda36
lea esi, [esp + 0x70]
cmp edi, ebx
jle 0x4ddc64
mov eax, edi
sub eax, ebx
add esi, eax
jmp 0x4ddc7c
jge 0x4ddc7c
mov eax, ebx
sub eax, edi
push eax
lea eax, [esp + 0x74]
add eax, edi
push 0
push eax
call fcn.005bbf50
add esp, 0xc
push dword [esp + 0x24]
or byte [esi], 0x80
or byte [esi + ebx - 1], 1
push ebx
push esi
call fcn.004a7260
add esp, 0xc
test eax, eax
je 0x4dda36
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
push dword [esp + 0x14]
push esi
call fcn.0052b520
add esp, 0xc
test eax, eax
jg 0x4ddced
mov esi, dword [esp + 0x30]
cmp esi, dword [esp + 0x3c]
je 0x4dddbc
test eax, eax
jne 0x4dda36
push dword [esp + 0x34]
push eax
push dword [esp + 0x30]
call fcn.0052b4d0
add esp, 0xc
test eax, eax
jne 0x4ddc10
mov edi, dword [esp + 0x10]
mov esi, ebp
jmp 0x4de1d5
cmp dword [esp + 0xc0], 0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x34], eax
jne 0x4ddd17
mov eax, dword [esp + 0x1c]
push dword [eax + 4]
push esi
call fcn.004a7520
add esp, 8
test eax, eax
jne 0x4dddce
mov esi, dword [esp + 0x28]
push 0
push 2
push esi
call fcn.0052b4d0
add esp, 0xc
test eax, eax
je 0x4dda36
push 0
push 3
push esi
call fcn.0052b4d0
add esp, 0xc
test eax, eax
je 0x4dda36
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
push edi
push esi
push dword [esp + 0x58]
call fcn.005bb9c0
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.004dcb30
add esp, 0x3c
test eax, eax
jg 0x4ddde3
js 0x4dddb5
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x3c], eax
cmp esi, eax
jne 0x4ddbe0
mov eax, dword [esp + 0x18]
mov dword [eax], 1
mov esi, ebp
jmp 0x4de1d5
mov eax, dword [esp + 0x18]
or dword [eax], 0x10
mov edi, dword [esp + 0x10]
mov esi, ebp
jmp 0x4de1d5
mov eax, dword [esp + 0x18]
mov esi, ebp
mov edi, dword [esp + 0x10]
mov dword [eax], 0x4000
jmp 0x4de1d5
push 1
push 2
push dword [esp + 0x30]
mov esi, ebp
call fcn.0052b4d0
add esp, 0xc
test eax, eax
je 0x4de1d5
cmp dword [esp + 0xc0], 0
jne 0x4dde2c
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x5c], eax
jne 0x4dddb5
mov eax, dword [esp + 0x1c]
push dword [eax]
push dword [esp + 0x24]
call fcn.004a7520
add esp, 8
test eax, eax
je 0x4dde2c
jmp 0x4de1d5
mov eax, dword [esp + 0x38]
and al, 3
cmp al, 1
je 0x4de17b
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
call fcn.004f8a10
mov dword [esp + 0x14], eax
mov esi, ebp
test eax, eax
je 0x4de067
push dword [esp + 0x10]
push dword [esp + 0x24]
push eax
call fcn.004f8aa0
add esp, 0xc
test eax, eax
je 0x4de067
test byte [esp + 0x38], 2
je 0x4ddea1
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.0052c640
add esp, 0x1c
test eax, eax
je 0x4de067
call fcn.004a7f40
mov esi, dword [esp + 0x54]
push eax
push dword [esp + 0x24]
push esi
call fcn.00505db0
add esp, 0xc
test eax, eax
je 0x4de065
push dword [esp + 0x10]
push ebx
push esi
push 0
push dword [esp + 0x68]
call fcn.00505fd0
add esp, 0x14
test eax, eax
je 0x4de065
test edi, edi
je 0x4de074
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x60], eax
cmp eax, 0xffffffff
je 0x4de074
push ebp
mov dword [esp + 0x6c], 1
call fcn.004aba00
add esp, 4
mov dword [esp + 0x48], eax
test eax, eax
jle 0x4de018
call fcn.004bb5d0
mov esi, eax
test esi, esi
je 0x4de018
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.004bafb0
add esp, 0xc
test eax, eax
je 0x4de00f
push dword [esp + 0x2c]
push edi
push esi
call fcn.004baff0
add esp, 0xc
test eax, eax
je 0x4de00f
push 4
push str.ggenffc_validate_LN
push esi
call fcn.004baff0
add esp, 0xc
test eax, eax
je 0x4de00f
push 3
lea eax, [esp + 0x74]
push eax
push esi
call fcn.004baff0
add esp, 0xc
test eax, eax
je 0x4de00f
push 0
lea eax, [esp + 0x74]
push eax
push esi
call fcn.004bae80
add esp, 0xc
test eax, eax
je 0x4de00f
push dword [esp + 0x4c]
lea eax, [esp + 0x74]
push dword [esp + 0x4c]
push eax
call fcn.004a7260
add esp, 0xc
test eax, eax
je 0x4de00f
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.00506580
add esp, 0x18
test eax, eax
je 0x4de00f
call fcn.004a7f40
push eax
push dword [esp + 0x44]
call fcn.004a7520
add esp, 8
test eax, eax
jg 0x4de031
inc ebx
cmp ebx, 0xffff
jle 0x4ddf30
push esi
call fcn.004bb540
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 0x4de1d7
push esi
call fcn.004bb540
add esp, 4
cmp dword [esp + 0xc0], 0
jne 0x4de0af
mov eax, dword [esp + 0x1c]
push dword [eax + 8]
push dword [esp + 0x44]
call fcn.004a7520
add esp, 8
test eax, eax
je 0x4de0af
mov eax, dword [esp + 0x18]
mov dword [eax], 0x8000
mov esi, ebp
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
jmp 0x4de1d7
cmp dword [esp + 0xc0], 0
je 0x4de0b3
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.004dd050
add esp, 0x20
test eax, eax
je 0x4de067
jmp 0x4de0b3
mov ebx, dword [esp + 0x24]
push 1
push 3
push dword [esp + 0x30]
mov esi, ebp
call fcn.0052b4d0
add esp, 0xc
test eax, eax
je 0x4de067
cmp dword [esp + 0xc0], 0
je 0x4de177
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
cmp dword [esp + 0x20], eax
je 0x4de0f7
push eax
call fcn.004a7840
push dword [esp + 0x24]
call fcn.004a7760
add esp, 8
mov dword [esi], eax
mov eax, dword [esi + 4]
cmp ebx, eax
je 0x4de110
push eax
call fcn.004a7840
push ebx
call fcn.004a7760
add esp, 8
mov dword [esi + 4], eax
mov eax, dword [esi + 8]
mov ebx, dword [esp + 0x40]
cmp ebx, eax
je 0x4de12d
push eax
call fcn.004a7840
push ebx
call fcn.004a7760
add esp, 8
mov dword [esi + 8], eax
cmp dword [esi], 0
je 0x4de065
cmp dword [esi + 4], 0
je 0x4de065
cmp dword [esi + 8], 0
je 0x4de065
push dword [esp + 0x5c]
mov ebx, dword [esp + 0x20]
mov esi, ebp
push dword [esp + 0x30]
push edi
push ebx
call fcn.004dc8d0
mov edi, dword [esp + 0x20]
add esp, 0x10
test eax, eax
je 0x4de06b
mov eax, dword [esp + 0x64]
mov dword [ebx + 0x24], eax
jmp 0x4de17b
mov edi, dword [esp + 0x10]
test byte [esp + 0x38], 2
je 0x4de196
cmp dword [esp + 0x68], 0
jne 0x4de196
mov esi, ebp
mov ebx, 2
mov ebp, dword [esp + 0x14]
jmp 0x4de1d9
mov esi, ebp
mov ebx, 1
mov ebp, dword [esp + 0x14]
jmp 0x4de1d9
call fcn.004ade90
push 0x60e25c
push 0x57
push str.crypto_ffc_ffc_params_generate.c
call fcn.004adf90
push 0
push 0x72
push 0xa
call fcn.004ae040
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 0x4de1f9
push 0x31a
push str.crypto_ffc_ffc_params_generate.c
push ecx
call fcn.004a6ed0
add esp, 0xc
push 0x31b
push str.crypto_ffc_ffc_params_generate.c
push dword [esp + 0x58]
call fcn.004a6ed0
add esp, 0xc
test edi, edi
je 0x4de21c
push edi
call fcn.004ffb60
add esp, 4
push edi
call fcn.004ffbd0
push ebp
call fcn.004f89c0
push dword [esp + 0x74]
call fcn.004bb540
push esi
call fcn.004bb690
mov ecx, dword [esp + 0xc0]
add esp, 0x10
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0045bfb6
add esp, 0xa4
ret
mov dword [ebx], 0x20
xor edi, edi
jmp 0x4de1d7