Function at 0x422470
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.0041b810
add esp, 0x10
mov esi, eax
cmp eax, dword [ebp + 0x20]
je 0x4224c0
sub esp, 0xc
push 0xaf
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x77
push 0x91
push 4
call fcn.00423b20
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 0x422516
cmp byte [ebp - 0x29], 0
je 0x422516
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.0041b4a0
add esp, 0x20
mov dword [ebp - 0x28], 0
test eax, eax
jle 0x4224b1
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.00424350
add esp, 0x10
mov dword [ebp - 0x24], eax
test eax, eax
je 0x4226d0
test bl, bl
jne 0x4225a0
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.0041b4a0
add esp, 0x20
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x28], 0
test eax, eax
jle 0x4225ce
cmp dword [ebp + 8], 0x5f
je 0x422671
mov dword [ebp - 0x28], 0
test bl, bl
je 0x422612
cmp dword [ebp - 0x20], 0x24
je 0x4225f5
sub esp, 0xc
push 0xde
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x68
push 0x91
push 4
call fcn.00423b20
add esp, 0x20
jmp 0x4225ce
cmp dword [ebp + 0x10], 0x24
je 0x422539
sub esp, 0xc
push 0xc4
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x83
push 0x91
push 4
call fcn.00423b20
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.004276a0
mov eax, dword [ebp - 0x24]
pop edx
push eax
call fcn.00424480
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 0x42257d
mov dword [ebp - 0x28], 1
jmp 0x4225ce
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.00431450
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4225ce
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
add eax, edx
cmp eax, dword [ebp - 0x10]
je 0x4226e4
sub esp, 0xc
push 0xe9
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x68
push 0x91
push 4
call fcn.00423b20
add esp, 0x20
sub esp, 0xc
push ebx
call fcn.004313f0
add esp, 0x10
jmp 0x4225ce
cmp eax, 0x12
jne 0x422568
mov ecx, dword [ebp - 0x24]
cmp byte [ecx], 4
jne 0x422568
cmp byte [ecx + 1], 0x10
jne 0x422568
cmp byte [ebp - 0x29], 0
je 0x422793
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 0x42256f
sub esp, 0xc
push 0xc0
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x41
jmp 0x42249b
mov eax, dword [ebx]
mov edx, dword [eax + 4]
test edx, edx
je 0x42270d
sub esp, 0xc
push edx
call fcn.004395c0
add esp, 0x10
cmp eax, 5
je 0x42270b
sub esp, 0xc
push 0xf2
jmp 0x42264a
mov eax, dword [ebx]
sub esp, 0xc
mov eax, dword [eax]
push eax
call fcn.0042f780
add esp, 0x10
cmp dword [ebp + 8], eax
je 0x422772
cmp dword [ebp + 8], 4
je 0x422753
cmp dword [ebp + 8], 3
je 0x422883
sub esp, 0xc
push 0x10d
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x64
push 0x91
push 4
call fcn.00423b20
add esp, 0x20
jmp 0x422660
cmp eax, 8
jne 0x422730
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 0x4227e3
mov edx, dword [ebx + 4]
mov eax, dword [edx]
cmp eax, dword [ebp + 0x10]
je 0x422837
sub esp, 0xc
push 0x123
jmp 0x42264a
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 0x42256f
sub esp, 0xc
push 0xd6
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x68
push 0x91
push 4
call fcn.00423b20
add esp, 0x20
mov dword [ebp - 0x28], 0
jmp 0x42256f
sub esp, 0xc
mov eax, dword [ebp + 8]
push eax
call fcn.0042f8a0
mov dword [esp], eax
call fcn.004398b0
add esp, 0x10
test eax, eax
je 0x422856
sub esp, 0xc
push eax
call fcn.00439be0
mov edx, dword [ebx + 4]
add esp, 0x10
cmp eax, dword [edx]
je 0x422859
sub esp, 0xc
push 0x117
push str.external_openssl_crypto_rsa_rsa_sign.c
push 0x8f
push 0x91
push 4
call fcn.00423b20
add esp, 0x20
jmp 0x422660
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 0x422786
mov dword [ebp - 0x28], 1
jmp 0x422660
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 0x422660
cmp eax, 7
jne 0x422730
jmp 0x422758