Function at 0x4536a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x10], 0
movzx eax, byte [0x51a9b2]
test eax, eax
jne 0x4536cc
cmp dword [0x51a994], 0
je 0x453712
movzx ecx, byte [0x51a750]
test ecx, ecx
jne 0x453712
mov edx, dword [0x51aa40]
add edx, 0x1000
push edx
call fcn.00463cd9
add esp, 4
mov dword [0x51a740], eax
mov eax, dword [0x51aa40]
add eax, 0x1000
mov dword [0x51a744], eax
mov ecx, dword [0x51a744]
push ecx
push 0
mov edx, dword [0x51a740]
push edx
call fcn.00463640
add esp, 0xc
jmp 0x453cd6
push 0x4d5334
push 0x51a753
call fcn.004675ba
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x453758
push 0xe
call fcn.00447170
add esp, 4
push 0x51a753
push 0x4d5338
call fcn.00463e31
add esp, 8
call fcn.004470a0
push 0
call fcn.00447070
add esp, 4
mov eax, dword [ebp - 4]
push eax
call fcn.004496f0
add esp, 4
add eax, dword [0x51aa40]
mov dword [0x51a744], eax
mov ecx, dword [0x51a744]
add ecx, 0xa
push ecx
call fcn.00463cd9
add esp, 4
mov dword [0x51a740], eax
mov edx, dword [0x51a744]
add edx, 0xa
push edx
push 0
mov eax, dword [0x51a740]
push eax
call fcn.00463640
add esp, 0xc
mov ecx, dword [ebp - 4]
push ecx
mov edx, dword [0x51a744]
sub edx, dword [0x51aa40]
push edx
push 1
mov eax, dword [0x51a740]
push eax
call fcn.004681fe
add esp, 0x10
mov ecx, dword [ebp - 4]
push ecx
call fcn.00467296
add esp, 4
movzx edx, byte [0x51a9a6]
test edx, edx
jne 0x4537f0
push 0x51a753
mov eax, dword [0x51a744]
push eax
push str.Loaded__x_bytes_from_file__s_n
call fcn.00463e31
add esp, 0xc
cmp dword [0x51a744], 0
jne 0x453810
push str.No_shellcode_loaded_must_use_either__f_or__S_options_n
call fcn.00463e31
add esp, 4
call fcn.004506b0
jmp 0x453cd6
mov dword [ebp - 0x14], 0
movzx ecx, byte [0x51a752]
test ecx, ecx
je 0x453895
push 0xe
call fcn.00447170
add esp, 4
mov edx, dword [0x51aa40]
push edx
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [0x51a740]
push ecx
call fcn.004535e0
add esp, 0xc
mov dword [0x51a740], eax
cmp dword [0x51a740], 0
jne 0x453875
push 0x51a753
push str.Failed_to_base64_decode__s_n
call fcn.00463e31
add esp, 8
call fcn.004470a0
push 0
call fcn.00447070
add esp, 4
push 0x51a753
push str.Base64_decode_sucessful:__s_n
call fcn.00463e31
add esp, 8
call fcn.004470a0
mov edx, dword [ebp - 0x10]
mov dword [0x51a744], edx
mov dword [ebp - 0x14], 0
jmp 0x4538a7
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [0x51a744]
jae 0x4538fa
mov edx, dword [0x51a740]
add edx, dword [ebp - 0x14]
mov al, byte [edx]
mov byte [ebp - 0x15], al
movzx ecx, byte [ebp - 0x15]
cmp ecx, 0x20
je 0x4538f8
movzx edx, byte [ebp - 0x15]
cmp edx, 0xd
je 0x4538f8
movzx eax, byte [ebp - 0x15]
cmp eax, 0xa
je 0x4538f8
movzx ecx, byte [ebp - 0x15]
cmp ecx, 0x22
je 0x4538f8
movzx edx, byte [ebp - 0x15]
cmp edx, 9
je 0x4538f8
movzx eax, byte [ebp - 0x15]
cmp eax, 0x27
je 0x4538f8
jmp 0x4538fa
jmp 0x45389e
mov ecx, dword [0x51a744]
sub ecx, 1
cmp dword [ebp - 0x14], ecx
jb 0x45390f
mov dword [ebp - 0x14], 0
mov edx, dword [0x51a740]
add edx, dword [ebp - 0x14]
movzx eax, byte [edx]
cmp eax, 0x25
jne 0x453932
mov ecx, dword [0x51a740]
add ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 1]
cmp edx, 0x75
je 0x45395c
mov eax, dword [0x51a740]
add eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x4539f4
mov edx, dword [0x51a740]
add edx, dword [ebp - 0x14]
movzx eax, byte [edx + 1]
cmp eax, 0x75
jne 0x4539f4
push 0xe
call fcn.00447170
add esp, 4
push str.Detected___u_encoding_input_format_converting..._n
call fcn.00463e31
add esp, 4
call fcn.004470a0
push str._n_r_t__u____
mov ecx, dword [0x51a744]
push ecx
lea edx, [ebp - 8]
push edx
mov eax, dword [0x51a740]
push eax
call fcn.00453530
add esp, 0x10
mov dword [0x51a744], eax
mov ecx, dword [0x51a740]
push ecx
call fcn.00463da3
add esp, 4
push str.to_bin.._n
call fcn.00463e31
add esp, 4
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00452dd0
add esp, 8
mov dword [0x51a744], eax
mov ecx, dword [ebp - 0xc]
mov dword [0x51a740], ecx
push str._u_encoded
mov edx, dword [0x51a744]
push edx
mov eax, dword [0x51a740]
push eax
call fcn.00451200
add esp, 0xc
jmp 0x453cd6
mov ecx, dword [0x51a740]
add ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
cmp edx, 0x25
jne 0x453a8c
mov eax, dword [0x51a740]
add eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 3]
cmp ecx, 0x25
jne 0x453a8c
push 0xe
call fcn.00447170
add esp, 4
push str.Detected____hex_input_format_converting..._n
call fcn.00463e31
add esp, 4
call fcn.004470a0
push str._n_r_t_____
mov edx, dword [0x51a744]
push edx
lea eax, [ebp - 8]
push eax
mov ecx, dword [0x51a740]
push ecx
call fcn.00453530
add esp, 0x10
mov dword [0x51a744], eax
mov edx, dword [0x51a740]
push edx
call fcn.00463da3
add esp, 4
lea eax, [ebp - 0xc]
push eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.00452dd0
add esp, 8
mov dword [0x51a744], eax
mov edx, dword [ebp - 0xc]
mov dword [0x51a740], edx
jmp 0x453cd6
mov eax, dword [0x51a740]
add eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
cmp ecx, 0x5c
jne 0x453b23
mov edx, dword [0x51a740]
add edx, dword [ebp - 0x14]
movzx eax, byte [edx + 1]
cmp eax, 0x78
jne 0x453b23
push 0xe
call fcn.00447170
add esp, 4
push str.Detected_x_encoding_input_format_converting..._n
call fcn.00463e31
add esp, 4
call fcn.004470a0
push str._n_r_t_x__
mov ecx, dword [0x51a744]
push ecx
lea edx, [ebp - 8]
push edx
mov eax, dword [0x51a740]
push eax
call fcn.00453530
add esp, 0x10
mov dword [0x51a744], eax
mov ecx, dword [0x51a740]
push ecx
call fcn.00463da3
add esp, 4
lea edx, [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
call fcn.00452dd0
add esp, 8
mov dword [0x51a744], eax
mov ecx, dword [ebp - 0xc]
mov dword [0x51a740], ecx
jmp 0x453cd6
mov edx, dword [0x51a740]
add edx, dword [ebp - 0x14]
movzx eax, byte [edx]
push eax
call fcn.00467169
add esp, 4
test eax, eax
je 0x453cd6
mov ecx, dword [0x51a740]
add ecx, dword [ebp - 0x14]
movzx edx, byte [ecx + 1]
push edx
call fcn.00467169
add esp, 4
test eax, eax
je 0x453cd6
mov eax, dword [0x51a740]
add eax, dword [ebp - 0x14]
movzx ecx, byte [eax + 2]
push ecx
call fcn.00467169
add esp, 4
test eax, eax
je 0x453cd6
mov edx, dword [0x51a740]
add edx, dword [ebp - 0x14]
movzx eax, byte [edx + 3]
push eax
call fcn.00467169
add esp, 4
test eax, eax
je 0x453cd6
mov byte [ebp - 0x21], 1
mov ecx, dword [0x51a744]
push ecx
call fcn.00455b10
add esp, 4
mov dword [ebp - 0x20], eax
mov edx, dword [0x51a744]
push edx
mov eax, dword [0x51a740]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004636c0
add esp, 0xc
push 0x4d54b8
mov edx, dword [0x51a744]
push edx
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00453530
add esp, 0x10
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 8]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x2c], 0
jmp 0x453bff
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x1c]
jae 0x453c56
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x2c]
movzx eax, byte [edx]
push eax
call fcn.00467169
add esp, 4
test eax, eax
jne 0x453c21
mov byte [ebp - 0x21], 0
movzx ecx, byte [ebp - 0x21]
test ecx, ecx
jne 0x453c54
mov edx, dword [ebp - 0x28]
add edx, dword [ebp - 0x2c]
push edx
mov eax, dword [ebp - 0x28]
add eax, dword [ebp - 0x2c]
movzx ecx, byte [eax]
push ecx
mov edx, dword [0x51a744]
push edx
mov eax, dword [ebp - 0x2c]
push eax
push str.failed_at_offset__x__x_value:__d_memoffset__x_n
call fcn.00463e31
add esp, 0x14
jmp 0x453c56
jmp 0x453bf6
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00463da3
add esp, 4
movzx edx, byte [ebp - 0x21]
test edx, edx
jne 0x453c6c
jmp 0x453cd6
push 0xe
call fcn.00447170
add esp, 4
push str.Detected_straight_hex_encoding_input_format_converting..._n
call fcn.00463e31
add esp, 4
call fcn.004470a0
push str._n_r_t____
mov eax, dword [0x51a744]
push eax
lea ecx, [ebp - 8]
push ecx
mov edx, dword [0x51a740]
push edx
call fcn.00453530
add esp, 0x10
mov dword [0x51a744], eax
mov eax, dword [0x51a740]
push eax
call fcn.00463da3
add esp, 4
lea ecx, [ebp - 0xc]
push ecx
mov edx, dword [ebp - 8]
push edx
call fcn.00452dd0
add esp, 8
mov dword [0x51a744], eax
mov eax, dword [ebp - 0xc]
mov dword [0x51a740], eax
mov esp, ebp
pop ebp
ret