Function at 0x422d23
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x38
mov edi, dword [ebp + 0x24]
push edi
call fcn.0041bda0
add esp, 0x10
mov esi, eax
cmp eax, dword [ebp + 0x20]
je 0x422a80
sub esp, 0xc
push 0xaf
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x77
push 0x91
push 4
call fcn.004240e0
mov dword [ebp - 0x28], 0
add esp, 0x20
mov eax, dword [ebp - 0x28]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dword [ebp + 8], 0x72
mov eax, dword [ebp + 0x14]
sete bl
test eax, eax
setne byte [ebp - 0x29]
test bl, bl
je 0x422ad6
cmp byte [ebp - 0x29], 0
je 0x422ad6
sub esp, 0xc
push 1
push edi
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [ebp + 0x1c]
push eax
mov eax, dword [ebp + 0x20]
push eax
call fcn.0041ba30
add esp, 0x20
mov dword [ebp - 0x28], 0
test eax, eax
jle 0x422a71
mov edx, dword [ebp + 0x18]
mov dword [edx], eax
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x28]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
push 0xbd
push str.external_openssl_crypto_rsa_rsa_sign.c
push esi
call fcn.00424910
add esp, 0x10
mov dword [ebp - 0x24], eax
test eax, eax
je 0x422c90
test bl, bl
jne 0x422b60
sub esp, 0xc
push 1
push edi
mov eax, dword [ebp - 0x24]
push eax
mov edi, dword [ebp + 0x1c]
push edi
push esi
call fcn.0041ba30
add esp, 0x20
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], 0
test eax, eax
jle 0x422b8e
cmp dword [ebp + 8], 0x5f
je 0x422c31
mov dword [ebp - 0x28], 0
test bl, bl
je 0x422bd2
cmp dword [ebp - 0x20], 0x24
je 0x422bb5
sub esp, 0xc
push 0xde
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x68
push 0x91
push 4
call fcn.004240e0
add esp, 0x20
jmp 0x422b8e
cmp dword [ebp + 0x10], 0x24
je 0x422af9
sub esp, 0xc
push 0xc4
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x83
push 0x91
push 4
call fcn.004240e0
mov dword [ebp - 0x28], 0
add esp, 0x20
push esi
push esi
mov ebx, dword [ebp + 0x20]
push ebx
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.00427ca0
mov eax, dword [ebp - 0x24]
pop edx
push eax
call fcn.00424a40
mov eax, dword [ebp - 0x28]
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
cld
mov ecx, 0x24
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp + 0xc]
repe cmpsb byte [esi], byte es:[edi]
jne 0x422b3d
mov dword [ebp - 0x28], 1
jmp 0x422b8e
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], edx
push ebx
mov ecx, dword [ebp - 0x20]
push ecx
push eax
push 0
call fcn.00431a30
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x422b8e
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
add eax, edx
cmp eax, dword [ebp - 0x10]
je 0x422ca4
sub esp, 0xc
push 0xe9
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x68
push 0x91
push 4
call fcn.004240e0
add esp, 0x20
sub esp, 0xc
push ebx
call fcn.004319d0
add esp, 0x10
jmp 0x422b8e
cmp eax, 0x12
jne 0x422b28
mov ecx, dword [ebp - 0x24]
cmp byte [ecx], 4
jne 0x422b28
cmp byte [ecx + 1], 0x10
jne 0x422b28
cmp byte [ebp - 0x29], 0
je 0x422d53
mov eax, dword [ecx + 2]
mov edx, ecx
mov ecx, dword [ebp + 0x14]
add edx, 2
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov eax, dword [edx + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [eax], 0x10
mov dword [ebp - 0x28], 1
jmp 0x422b2f
sub esp, 0xc
push 0xc0
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x41
jmp 0x422a5b
mov eax, dword [ebx]
mov edx, dword [eax + 4]
test edx, edx
je 0x422ccd
sub esp, 0xc
push edx
call fcn.00439c90
add esp, 0x10
cmp eax, 5
je 0x422ccb
sub esp, 0xc
push 0xf2
jmp 0x422c0a
mov eax, dword [ebx]
sub esp, 0xc
mov eax, dword [eax]
push eax
call fcn.0042fd60
add esp, 0x10
cmp dword [ebp + 8], eax
je 0x422d32
cmp dword [ebp + 8], 4
je 0x422d13
cmp dword [ebp + 8], 3
je 0x422e43
sub esp, 0xc
push 0x10d
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x64
push 0x91
push 4
call fcn.004240e0
add esp, 0x20
jmp 0x422c20
cmp eax, 8
jne 0x422cf0
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x34
push 1
push str.signature_has_problems__re_make_with_post_SSLeay045_n
call sub.msvcrt.dll_fwrite
add esp, 0x10
cmp byte [ebp - 0x29], 0
jne 0x422da3
mov edx, dword [ebx + 4]
mov eax, dword [edx]
cmp eax, dword [ebp + 0x10]
je 0x422df7
sub esp, 0xc
push 0x123
jmp 0x422c0a
mov edi, dword [ebp - 0x24]
mov ecx, 0x10
cld
add edi, 2
mov esi, dword [ebp + 0xc]
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
mov dword [ebp - 0x28], 1
cmp dl, al
je 0x422b2f
sub esp, 0xc
push 0xd6
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x68
push 0x91
push 4
call fcn.004240e0
add esp, 0x20
mov dword [ebp - 0x28], 0
jmp 0x422b2f
sub esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.0042fe80
mov dword [esp], eax
call fcn.00439f80
add esp, 0x10
test eax, eax
je 0x422e16
sub esp, 0xc
push eax
call fcn.0043a2b0
mov edx, dword [ebx + 4]
add esp, 0x10
cmp eax, dword [edx]
je 0x422e19
sub esp, 0xc
push 0x117
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x8f
push 0x91
push 4
call fcn.004240e0
add esp, 0x20
jmp 0x422c20
cld
mov edi, dword [edx + 8]
cmp eax, eax
mov esi, dword [ebp + 0xc]
mov ecx, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x422d46
mov dword [ebp - 0x28], 1
jmp 0x422c20
mov edx, dword [ebx + 4]
push eax
mov eax, dword [edx]
push eax
mov eax, dword [edx + 8]
push eax
mov edi, dword [ebp + 0x14]
push edi
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x18]
add esp, 0x10
mov eax, dword [eax]
mov dword [ecx], eax
mov dword [ebp - 0x28], 1
jmp 0x422c20
cmp eax, 7
jne 0x422cf0
jmp 0x422d18