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

Disassembly:
mov eax, 0xb0
call fcn.0042dc00
mov eax, dword [0x6041f8]
xor eax, esp
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xd4]
push ebx
mov dword [esp + 0x68], eax
xor ebx, ebx
mov eax, dword [esp + 0xdc]
push ebp
mov ebp, dword [esp + 0xd0]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xe4]
push esi
mov esi, dword [esp + 0xc8]
mov dword [esp + 0x20], eax
mov eax, esi
shr eax, 3
push edi
mov dword [esp + 0x54], ecx
xor edi, edi
mov dword [esp + 0x20], ebp
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x60], eax
call fcn.004bf8b0
mov dword [esp + 0x2c], eax
mov ecx, 2
mov dword [esp + 0x34], ecx
test eax, eax
je 0x525323
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x524b7d
cmp esi, 0xa0
jne 0x524b65
call fcn.004bfc10
jmp 0x524b79
cmp esi, 0xe0
jne 0x524b74
call fcn.004bfc20
jmp 0x524b79
call fcn.004bfc30
mov dword [esp + 0x18], eax
push eax
call fcn.004d7810
mov esi, eax
add esp, 4
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], esi
cmp dword [eax + 8], ebx
je 0x524ba3
cmp dword [eax + 0xc], ebx
je 0x524ba3
cmp dword [esp + 0xdc], ebx
jl 0x524c03
test ebp, ebp
push 0x152
cmove ebp, esi
push 0x5d7880
push ebp
mov dword [esp + 0x2c], ebp
call fcn.004b8f10
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x524bdc
push 0x157
push 0x5d7880
push ebp
call fcn.004b8f10
add esp, 0xc
mov dword [esp + 0x38], eax
test ebx, ebx
je 0x525323
test eax, eax
je 0x525323
mov eax, dword [esp + 0x40]
test eax, eax
je 0x524c03
push ebp
push eax
push ebx
call fcn.00445180
add esp, 0xc
call fcn.004dc8f0
mov ebp, eax
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x525325
call fcn.004d0660
mov dword [esp + 0x44], eax
test eax, eax
je 0x525325
push ebp
call fcn.004dc960
push ebp
call fcn.004dc890
push dword [esp + 0x18]
mov ebp, eax
call fcn.004dc890
push dword [esp + 0x1c]
mov dword [esp + 0x68], eax
call fcn.004dc890
push dword [esp + 0x20]
mov dword [esp + 0x60], eax
call fcn.004dc890
push dword [esp + 0x24]
mov dword [esp + 0x88], eax
call fcn.004dc890
push dword [esp + 0x28]
mov dword [esp + 0x58], eax
call fcn.004dc890
add esp, 0x1c
mov dword [esp + 0x14], eax
test eax, eax
je 0x5250e8
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 8]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x524cc1
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x28], eax
test eax, eax
je 0x524cc1
cmp dword [esp + 0xdc], edi
jl 0x525097
push dword [esp + 0x20]
push ebx
push dword [esp + 0x40]
call fcn.00445180
add esp, 0xc
jmp 0x525097
mov esi, dword [esp + 0x10]
push esi
call fcn.004dc890
push esi
mov dword [esp + 0x24], eax
call fcn.004dc890
mov dword [esp + 0x30], eax
add esp, 8
mov eax, dword [esp + 0xc8]
dec eax
mov dword [esp + 0x6c], eax
push eax
call fcn.004bc910
push eax
push dword [esp + 0x1c]
call fcn.004fb6a0
add esp, 0xc
test eax, eax
je 0x5250e8
mov esi, dword [esp + 0x40]
nop word [eax + eax]
mov edi, dword [esp + 0x20]
push dword [esp + 0x48]
push 0
push dword [esp + 0x2c]
call fcn.0052ee10
inc dword [esp + 0x54]
add esp, 0xc
test eax, eax
je 0x5250e8
test esi, esi
jne 0x524d48
push edi
push ebx
call fcn.004c44b0
add esp, 8
test eax, eax
jle 0x5250e8
push 0
push dword [esp + 0x1c]
lea eax, [esp + 0x84]
push 0
push eax
push edi
push ebx
call fcn.004bf3c0
add esp, 0x18
test eax, eax
je 0x5250e8
mov ecx, dword [esp + 0x30]
lea esi, [esp + 0x7c]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jle 0x524d82
mov eax, ecx
sub eax, edx
add esi, eax
cmp ecx, edx
jge 0x524da1
mov eax, edx
sub eax, ecx
push eax
lea eax, [esp + 0x80]
add eax, ecx
push 0
push eax
call fcn.00444fb0
mov edx, dword [esp + 0x6c]
add esp, 0xc
push dword [esp + 0x28]
or byte [esi], 0x80
or byte [esi + edx - 1], 1
push edx
push esi
call fcn.004bbd40
add esp, 0xc
test eax, eax
je 0x5250e8
push dword [esp + 0x24]
mov esi, dword [esp + 0x44]
xor eax, eax
test esi, esi
setne al
push eax
push dword [esp + 0x18]
push 0x32
push dword [esp + 0x38]
call fcn.0052f110
add esp, 0x14
test eax, eax
jg 0x524e16
jne 0x5250e8
test esi, esi
je 0x524d14
push 0x1a6
push 0x5d7880
push 0x71
push 0x7e
push 0xa
xor esi, esi
call fcn.004c64f0
mov ebp, dword [esp + 0x24]
add esp, 0x14
jmp 0x525328
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x524e29
push edi
push ebx
push eax
call fcn.00445180
add esp, 0xc
mov esi, dword [esp + 0x24]
push 0
push 2
push esi
call fcn.0052ee10
add esp, 0xc
test eax, eax
je 0x5250e8
push 0
push 3
push esi
call fcn.0052ee10
add esp, 0xc
test eax, eax
je 0x5250e8
mov ecx, dword [esp + 0x30]
xor edi, edi
mov eax, dword [esp + 0xc8]
xor edx, edx
shl ecx, 3
dec eax
div ecx
mov dword [esp + 0x50], edi
mov esi, eax
mov dword [esp + 0x64], esi
test edi, edi
je 0x524e91
push edi
push 0
push dword [esp + 0x2c]
call fcn.0052ee10
add esp, 0xc
test eax, eax
je 0x5250e8
push 0
push dword [esp + 0x50]
call fcn.004bc860
add esp, 8
xor edi, edi
test esi, esi
js 0x524f58
mov ecx, dword [esp + 0x20]
xor esi, esi
lea eax, [ecx - 1]
mov dword [esp + 0x68], eax
test eax, eax
js 0x524ecb
nop word [eax + eax]
add byte [eax + ebx], 1
jne 0x524ecb
sub eax, 1
jns 0x524ec0
push 0
push dword [esp + 0x1c]
lea eax, [esp + 0x84]
push 0
push eax
push ecx
push ebx
call fcn.004bf3c0
add esp, 0x18
test eax, eax
je 0x5250e8
push ebp
push dword [esp + 0x34]
lea eax, [esp + 0x84]
push eax
call fcn.004bbd40
add esp, 0xc
test eax, eax
je 0x5250e8
push esi
push ebp
push ebp
call fcn.004fb6a0
add esp, 0xc
test eax, eax
je 0x5250e8
mov eax, dword [esp + 0x4c]
push ebp
push eax
push eax
call fcn.004dcbc0
add esp, 0xc
test eax, eax
je 0x5250e8
mov ecx, dword [esp + 0x30]
inc edi
lea eax, [ecx*8]
mov ecx, dword [esp + 0x20]
add esi, eax
mov eax, dword [esp + 0x68]
cmp edi, dword [esp + 0x64]
jle 0x524eb6
mov esi, dword [esp + 0x64]
push dword [esp + 0x6c]
mov edi, dword [esp + 0x50]
push edi
call fcn.004bc580
add esp, 8
test eax, eax
je 0x5250e8
push edi
mov edi, dword [esp + 0x74]
push edi
call fcn.004bc2a0
add esp, 8
test eax, eax
je 0x5250e8
push dword [esp + 0x14]
push edi
push edi
call fcn.004dcbc0
add esp, 0xc
test eax, eax
je 0x5250e8
push dword [esp + 0x28]
push ebp
call fcn.004fb7d0
add esp, 8
test eax, eax
je 0x5250e8
push dword [esp + 0x10]
push ebp
push edi
push dword [esp + 0x48]
push 0
call fcn.00502110
add esp, 0x14
test eax, eax
je 0x5250e8
call fcn.004bc910
push eax
push dword [esp + 0x40]
push ebp
call fcn.004dcc50
add esp, 0xc
test eax, eax
je 0x5250e8
push ebp
push edi
mov edi, dword [esp + 0x24]
push edi
call fcn.004dcc50
add esp, 0xc
test eax, eax
je 0x5250e8
push dword [esp + 0x14]
push edi
call fcn.004bbf50
add esp, 8
test eax, eax
js 0x525034
mov edi, dword [esp + 0x24]
push edi
push 1
push dword [esp + 0x18]
push 0x32
push dword [esp + 0x2c]
call fcn.0052f110
add esp, 0x14
test eax, eax
jg 0x52507e
jne 0x5250e8
mov edi, dword [esp + 0x50]
mov eax, dword [esp + 0xc8]
inc edi
shl eax, 2
mov dword [esp + 0x50], edi
cmp edi, eax
jl 0x524e76
mov esi, dword [esp + 0x40]
test esi, esi
je 0x524d10
push 0x1ff
push 0x5d7880
push 0x70
push 0x7e
push 0xa
xor esi, esi
call fcn.004c64f0
mov ebp, dword [esp + 0x24]
add esp, 0x14
jmp 0x525328
push 1
push 2
push edi
call fcn.0052ee10
add esp, 0xc
test eax, eax
je 0x5250e8
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x30]
call fcn.004bc910
push eax
push dword [esp + 0x20]
push dword [esp + 0x1c]
call fcn.004dcc50
add esp, 0xc
test eax, eax
je 0x5250e8
push dword [esp + 0x10]
push dword [esp + 0x2c]
push dword [esp + 0x1c]
push 0
push ebp
call fcn.00502110
add esp, 0x14
test eax, eax
je 0x5250e8
cmp dword [esp + 0xdc], 0
jge 0x5250f1
push 2
push dword [esp + 0x18]
call fcn.004bc860
add esp, 8
test eax, eax
jne 0x5250fa
mov ebp, dword [esp + 0x10]
jmp 0x525325
mov ecx, 1
mov dword [esp + 0x34], ecx
push dword [esp + 0x10]
push dword [esp + 0x20]
push dword [esp + 0x4c]
call fcn.004d06c0
add esp, 0xc
test eax, eax
je 0x5250e8
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xdc]
nop dword [eax]
test eax, eax
js 0x5251e8
push 0
push dword [esp + 0x1c]
mov byte [esp + 0x84], al
mov eax, ecx
push dword [esp + 0x34]
shr eax, 8
mov byte [esp + 0x89], al
mov byte [esp + 0x8a], cl
call fcn.004bf520
add esp, 0xc
test eax, eax
je 0x5250e8
push dword [esp + 0x20]
push dword [esp + 0x3c]
push dword [esp + 0x34]
call fcn.004bf6d0
add esp, 0xc
test eax, eax
je 0x5250e8
push 4
push str.ggen....openssl_1.1.0fcryptodsadsa_gen.c
push dword [esp + 0x34]
call fcn.004bf6d0
add esp, 0xc
test eax, eax
je 0x5250e8
push 3
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x34]
call fcn.004bf6d0
add esp, 0xc
test eax, eax
je 0x5250e8
push 0
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x34]
call fcn.004bf480
add esp, 0xc
test eax, eax
je 0x5250e8
push dword [esp + 0x14]
lea eax, [esp + 0x80]
push esi
push eax
call fcn.004bbd40
add esp, 0xc
test eax, eax
je 0x5250e8
push dword [esp + 0x44]
push dword [esp + 0x14]
push dword [esp + 0x24]
push ebp
push dword [esp + 0x24]
push dword [esp + 0x6c]
call fcn.0050ed70
add esp, 0x18
test eax, eax
je 0x5250e8
push dword [esp + 0x58]
call fcn.004bc520
add esp, 4
test eax, eax
je 0x52526d
mov eax, dword [esp + 0xdc]
test eax, eax
jns 0x52524b
call fcn.004bc910
push eax
mov eax, dword [esp + 0x18]
push eax
push eax
call fcn.004dcbc0
add esp, 0xc
test eax, eax
je 0x5250e8
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x34]
inc ecx
mov dword [esp + 0x34], ecx
test eax, eax
js 0x5251e8
cmp ecx, 0xffff
jbe 0x525120
mov ebp, dword [esp + 0x10]
jmp 0x525325
push 1
push 3
push dword [esp + 0x2c]
call fcn.0052ee10
add esp, 0xc
test eax, eax
je 0x5250e8
mov dword [esp + 0x3c], 1
nop dword [eax]
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esi + 8]
cmp ebp, eax
je 0x5252b1
push eax
call fcn.004bc410
push ebp
call fcn.004bc380
add esp, 8
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ebp, dword [esp + 0x28]
cmp ebp, eax
je 0x5252ce
push eax
call fcn.004bc410
push ebp
call fcn.004bc380
add esp, 8
mov dword [esi + 0xc], eax
push dword [esi + 0x10]
call fcn.004bc410
push dword [esp + 0x5c]
call fcn.004bc380
add esp, 8
mov dword [esi + 0x10], eax
cmp dword [esi + 8], 0
je 0x5250e8
cmp dword [esi + 0xc], 0
je 0x5250e8
test eax, eax
je 0x5250e8
mov eax, dword [esp + 0x74]
test eax, eax
je 0x52530b
mov dword [eax], edi
mov eax, dword [esp + 0x78]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x3c]
test eax, eax
je 0x525328
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
jmp 0x525328
xor ebp, ebp
or esi, 0xffffffff
push 0x250
push 0x5d7880
push ebx
call fcn.004b8f40
mov eax, dword [esp + 0x44]
add esp, 0xc
cmp dword [esp + 0x5c], eax
je 0x525358
push 0x252
push 0x5d7880
push eax
call fcn.004b8f40
add esp, 0xc
test ebp, ebp
je 0x525365
push ebp
call fcn.004dc810
add esp, 4
push ebp
call fcn.004dc850
push dword [esp + 0x48]
call fcn.004d0610
push dword [esp + 0x34]
call fcn.004bf890
mov ecx, dword [esp + 0xc8]
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0042d205
add esp, 0xb0
ret