Function at 0x418728
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x58], ecx
mov ebx, dword [ebp + 8]
lea edx, [ebp - 0x38]
mov ecx, 4
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x58]
or eax, dword [ebp + 0xc]
je 0x418a34
test ebx, ebx
jne 0x41882a
mov edx, 2
mov eax, dword [ebp - 0x4c]
call fcn.004a01a8
mov ebx, eax
test eax, eax
jne 0x418a3b
cmp dword [ebp - 0x58], 0x75756964
jne 0x418784
xor eax, eax
mov dword [ebp - 0x58], eax
lea edx, [ebp - 0x28]
mov ecx, 0x10
mov al, 1
mov edi, edx
rep stosb byte es:[edi], al
cmp dword [ebp - 0x54], 0
je 0x4187b0
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
call fcn.0049b00f
test eax, eax
je 0x418a34
mov edi, dword [eax + 0x18]
jmp 0x4187b9
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x28]
mov edi, dword [eax + 0x20]
test edi, edi
je 0x418a34
xor eax, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x4c], eax
lea edx, [ebp - 0x3c]
call fcn.00425f4e
mov esi, eax
test eax, eax
je 0x418a3b
mov eax, dword [esi]
cmp eax, 0x75756964
jne 0x418805
mov dword [esp + 8], 0x10
lea eax, [ebp - 0x38]
mov dword [esp + 4], eax
lea eax, [esi + 4]
mov dword [esp], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_memcmp
test eax, eax
jmp 0x41880a
mov ecx, dword [ebp - 0x58]
cmp eax, ecx
jne 0x4187c6
mov eax, dword [ebp - 0x3c]
lea edx, [eax - 1]
mov eax, dword [ebp - 0x4c]
call fcn.00425e11
mov eax, dword [esi + 0x14]
call fcn.00497519
mov dword [esp], esi
jmp 0x418a2d
mov dword [esp + 8], 6
mov dword [esp + 4], str.base64
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll__strnicmp
test eax, eax
jne 0x418873
add ebx, 7
mov dword [esp], ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov esi, eax
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov dword [ebp - 0x50], eax
mov dword [esp], esi
mov ecx, eax
mov edx, esi
mov eax, ebx
call fcn.00428f16
mov esi, eax
jmp 0x418901
mov edx, 0x5c7aa7
mov eax, ebx
call fcn.00427968
mov ebx, eax
test eax, eax
je 0x4188f0
mov dword [esp + 8], 2
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
mov dword [esp], ebx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_ftell
mov esi, eax
xor edi, edi
mov dword [esp + 8], edi
mov dword [esp + 4], edi
mov dword [esp], ebx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fseek
mov dword [esp], esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov dword [ebp - 0x50], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
cmp eax, esi
je 0x4188fa
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov eax, ebx
call fcn.00425b84
mov ebx, 0xfffffffd
jmp 0x418a3b
mov eax, ebx
call fcn.00425b84
test esi, esi
je 0x418a39
cmp dword [ebp - 0x50], 0
je 0x418a39
cmp dword [ebp + 0xc], 0
je 0x4189ff
mov edx, 2
mov eax, dword [ebp - 0x4c]
call fcn.004a01a8
mov ebx, eax
test eax, eax
jne 0x418a27
cmp dword [ebp - 0x54], 0
je 0x418974
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
call fcn.0049b00f
mov edi, eax
test eax, eax
jne 0x418953
or ebx, 0xffffffff
jmp 0x418a27
cmp dword [eax + 0x18], 0
jne 0x41896f
mov eax, 0x75647461
call fcn.00497474
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00556c29
mov edi, dword [edi + 0x18]
jmp 0x4189a9
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x28]
test eax, eax
je 0x41894b
cmp dword [eax + 0x20], 0
jne 0x4189a0
mov eax, 0x75647461
call fcn.00497474
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x28]
mov dword [esp], eax
call fcn.005508c0
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x28]
mov edi, dword [eax + 0x20]
test edi, edi
je 0x418a22
xor edx, edx
xor ecx, ecx
mov dword [esp], ecx
mov ecx, edx
mov edx, esi
mov eax, dword [ebp - 0x50]
call fcn.00425f6d
mov esi, eax
mov eax, esi
call fcn.00426462
test edx, edx
je 0x4189f2
lea eax, [ebp - 0x28]
mov edx, esi
call fcn.00497b22
test eax, eax
jne 0x4189ee
mov eax, dword [ebp - 0x28]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00558884
test eax, eax
je 0x4189c2
mov ebx, eax
jmp 0x4189f6
test eax, eax
jne 0x4189cd
mov eax, esi
call fcn.004260fd
jmp 0x418a27
mov dword [esp + 8], esi
mov eax, dword [ebp - 0x50]
mov dword [esp + 4], eax
lea eax, [ebp - 0x38]
mov dword [esp], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x4c]
call fcn.004a269b
mov ebx, eax
jmp 0x418a27
mov ebx, 0xfffffffe
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
jmp 0x418a3b
or ebx, 0xffffffff
jmp 0x418a3b
xor ebx, ebx
mov eax, ebx
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret