Function at 0x5790e9
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
mov eax, 0x1048
call fcn.005a812c
sub esp, eax
mov eax, dword [esp + eax]
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x1038], edx
mov dword [ebp - 0x103c], ecx
mov edi, dword [ebp + 0x14]
mov ebx, dword [ebp + 8]
xor ebx, 1
and ebx, 1
mov eax, dword [ebp + 0xc]
or eax, dword [ebp + 0x2c]
jne 0x57912d
test bl, bl
jne 0x579b56
mov edx, 2
mov eax, dword [ebp - 0x1028]
call fcn.004a01a8
mov dword [ebp - 0x102c], eax
test eax, eax
jne 0x579b60
mov ecx, dword [ebp - 0x103c]
mov edx, dword [ebp - 0x1038]
mov eax, dword [ebp - 0x1028]
call fcn.004a7b16
mov esi, eax
test eax, eax
jne 0x57919a
cmp dword [0x5af048], 0
je 0x579b56
mov dword [0x611418], 1
mov dword [0x611414], 2
mov dword [esp], str.Trying_to_add_item__but_missing_meta_box
call fcn.004268ea
jmp 0x579b56
mov eax, dword [ebp - 0x1028]
call fcn.004a0483
mov dword [ebp - 0x102c], eax
test eax, eax
jne 0x579b60
cmp dword [ebp + 0x28], 0
jne 0x5791e7
cmp dword [ebp + 0x2c], 0
jne 0x5791e7
test bl, bl
je 0x5791e7
mov edx, 0x60506f
mov eax, dword [ebp + 0xc]
call fcn.00427968
mov dword [ebp - 0x102c], 0xfffffff4
test eax, eax
je 0x579b60
call fcn.00425b84
mov eax, dword [esi + 0x34]
xor ebx, ebx
test eax, eax
je 0x57926b
mov eax, dword [eax + 0x20]
test eax, eax
je 0x57926b
mov eax, dword [eax + 4]
mov dword [ebp - 0x1024], eax
xor ecx, ecx
mov dword [ebp - 0x1020], ecx
mov ecx, dword [ebp - 0x1024]
cmp dword [ebp - 0x1020], ecx
je 0x57926b
mov eax, dword [esi + 0x34]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x1020]
call fcn.00425c8e
movzx eax, word [eax + 0x20]
cmp ebx, eax
cmovb ebx, eax
cmp eax, edi
jne 0x579263
cmp dword [0x5af048], 2
jbe 0x579261
mov dword [0x611418], 3
mov dword [0x611414], 2
mov dword [esp + 4], edi
mov dword [esp], str._IsoMedia__Item_with_id__d_already_exists__ignoring_id_n
call fcn.004268ea
xor edi, edi
inc dword [ebp - 0x1020]
jmp 0x579208
mov eax, 0x696e6665
call fcn.00497474
mov dword [ebp - 0x1020], eax
test edi, edi
jne 0x579282
lea edi, [ebx + 1]
mov eax, dword [ebp - 0x1020]
mov word [eax + 0x20], di
cmp dword [ebp + 0x10], 0
je 0x579297
mov eax, dword [ebp + 0x10]
jmp 0x5792ba
cmp dword [ebp + 0xc], 0
je 0x5792cb
mov dword [esp + 4], 0x5c
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.api_ms_win_crt_private_l1_1_0.dll_strrchr
test eax, eax
je 0x5792b7
inc eax
jmp 0x5792ba
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov edi, dword [ebp - 0x1020]
mov dword [edi + 0x28], eax
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp - 0x1020]
mov dword [edi + 0x24], eax
cmp dword [ebp + 0x1c], 0
je 0x5792e5
mov eax, dword [ebp + 0x1c]
mov dword [esp], eax
jmp 0x5792ec
mov dword [esp], str.application_octet_stream
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov edi, dword [ebp - 0x1020]
mov dword [edi + 0x2c], eax
cmp dword [ebp + 0x20], 0
je 0x579314
mov eax, dword [ebp + 0x20]
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov ecx, dword [ebp - 0x1020]
mov dword [ecx + 0x30], eax
mov dword [esp], 0x20
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov dword [ebp - 0x1024], eax
test eax, eax
jne 0x579344
mov eax, dword [ebp - 0x1020]
call fcn.0049747b
mov dword [ebp - 0x102c], 0xfffffffe
jmp 0x579b60
mov ecx, 8
xor eax, eax
mov edi, dword [ebp - 0x1024]
rep stosd dword es:[edi], eax
call fcn.00425c0a
mov edi, dword [ebp - 0x1024]
mov dword [edi + 0x18], eax
mov eax, dword [ebp - 0x1028]
cmp dword [eax + 0x2c], 0
jne 0x57938d
mov eax, 0x6d646174
call fcn.00497474
mov edx, eax
mov eax, dword [ebp - 0x1028]
mov dword [eax + 0x2c], edx
mov eax, dword [eax + 0x98]
call fcn.00425c52
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x5793a1
mov eax, 0x696c6f63
call fcn.00497474
mov dword [esi + 0x2c], eax
mov eax, dword [eax + 0x24]
mov edx, dword [ebp - 0x1024]
call fcn.00425c52
mov eax, dword [ebp - 0x1020]
mov eax, dword [eax + 0x20]
mov ecx, dword [ebp - 0x1024]
mov word [ecx], ax
mov eax, dword [esi + 0x34]
test eax, eax
jne 0x5793d5
mov eax, 0x69696e66
call fcn.00497474
mov dword [esi + 0x34], eax
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x1020]
call fcn.00425c52
mov dword [ebp - 0x102c], eax
test eax, eax
jne 0x579b60
cmp dword [ebp + 0x24], 0
je 0x579795
mov eax, dword [ebp + 0x24]
cmp dword [eax + 0x1c], 0
je 0x579411
mov eax, dword [ebp - 0x1020]
mov dword [eax + 0x1c], 1
mov eax, dword [ebp - 0x1020]
movzx eax, word [eax + 0x20]
mov dword [ebp - 0x1034], eax
lea edx, [ebp - 0x1018]
mov ecx, 0xb
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov ebx, dword [esi + 0x3c]
test ebx, ebx
jne 0x57947e
mov eax, 0x69707270
call fcn.00497474
mov ebx, eax
mov dword [esi + 0x3c], eax
mov eax, 0x6970636f
call fcn.00497474
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x3c]
mov ebx, dword [eax + 0x18]
mov eax, 0x69706d61
call fcn.00497474
mov dword [ebp - 0x1030], eax
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x1030]
call fcn.00425c52
jmp 0x579491
mov eax, dword [ebx + 0x14]
xor edx, edx
call fcn.00425c8e
mov dword [ebp - 0x1030], eax
mov ebx, dword [ebx + 0x18]
mov eax, dword [ebp + 0x24]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov edi, edx
or edi, eax
je 0x579515
mov dword [ebp - 0x1018], edx
mov dword [ebp - 0x1014], eax
lea edx, [ebp - 0x1018]
mov eax, ebx
call fcn.004a97e7
test eax, eax
jns 0x5794ee
mov eax, 0x69737065
call fcn.00497474
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov dword [edx + 0x20], eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 4]
mov dword [edx + 0x24], eax
mov eax, dword [ebx + 0x14]
call fcn.00425c52
mov edx, dword [ebx + 0x14]
xor eax, eax
test edx, edx
je 0x5794ed
mov eax, dword [edx + 4]
dec eax
lea ecx, [eax + 1]
xor eax, eax
mov dword [esp], eax
mov edx, dword [ebp - 0x1034]
mov eax, dword [ebp - 0x1030]
call fcn.004a98bf
xor edx, edx
mov dword [ebp - 0x1018], edx
mov dword [ebp - 0x1014], edx
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, eax
or ecx, edx
je 0x57959d
mov dword [ebp - 0x1008], edx
mov dword [ebp - 0x1004], eax
lea edx, [ebp - 0x1018]
mov eax, ebx
call fcn.004a97e7
test eax, eax
jns 0x579574
mov eax, 0x726c6f63
call fcn.00497474
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x10]
mov dword [edx + 0x20], eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [edx + 0x24], eax
mov eax, dword [ebx + 0x14]
call fcn.00425c52
mov edx, dword [ebx + 0x14]
xor eax, eax
test edx, edx
je 0x579573
mov eax, dword [edx + 4]
dec eax
lea ecx, [eax + 1]
mov dword [esp], 1
mov edx, dword [ebp - 0x1034]
mov eax, dword [ebp - 0x1030]
call fcn.004a98bf
xor eax, eax
mov dword [ebp - 0x1008], eax
mov dword [ebp - 0x1004], eax
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edi, edx
or edi, eax
je 0x579623
mov dword [ebp - 0x1010], edx
mov dword [ebp - 0x100c], eax
lea edx, [ebp - 0x1018]
mov eax, ebx
call fcn.004a97e7
test eax, eax
jns 0x5795fc
mov eax, 0x70617370
call fcn.00497474
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 8]
mov dword [edx + 0x18], eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0xc]
mov dword [edx + 0x1c], eax
mov eax, dword [ebx + 0x14]
call fcn.00425c52
mov edx, dword [ebx + 0x14]
xor eax, eax
test edx, edx
je 0x5795fb
mov eax, dword [edx + 4]
dec eax
lea ecx, [eax + 1]
xor eax, eax
mov dword [esp], eax
mov edx, dword [ebp - 0x1034]
mov eax, dword [ebp - 0x1030]
call fcn.004a98bf
xor eax, eax
mov dword [ebp - 0x1010], eax
mov dword [ebp - 0x100c], eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x57969c
mov dword [ebp - 0x1000], eax
lea edx, [ebp - 0x1018]
mov eax, ebx
call fcn.004a97e7
test eax, eax
jns 0x579679
mov eax, 0x69726f74
call fcn.00497474
mov ecx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x18]
mov edi, 0x5a
xor edx, edx
div edi
mov byte [ecx + 0x18], al
mov eax, dword [ebx + 0x14]
mov edx, ecx
call fcn.00425c52
mov edx, dword [ebx + 0x14]
xor eax, eax
test edx, edx
je 0x579678
mov eax, dword [edx + 4]
dec eax
lea ecx, [eax + 1]
mov dword [esp], 1
mov edx, dword [ebp - 0x1034]
mov eax, dword [ebp - 0x1030]
call fcn.004a98bf
xor eax, eax
mov dword [ebp - 0x1000], eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x20]
test eax, eax
je 0x579795
mov dword [ebp - 0xff8], eax
lea edx, [ebp - 0x1018]
mov eax, ebx
call fcn.004a97e7
test eax, eax
jns 0x57977a
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x20]
mov eax, dword [edx]
cmp eax, 0x68766343
je 0x579708
ja 0x5796dd
cmp eax, 0x61766343
jmp 0x5796e9
cmp eax, 0x6d766343
je 0x5796eb
cmp eax, 0x73766343
jne 0x57972d
mov dword [ebp - 0x1040], edx
call fcn.00497474
mov edi, eax
mov edx, dword [ebp - 0x1040]
mov eax, dword [edx + 0x18]
call fcn.0048ed0d
jmp 0x579728
mov dword [ebp - 0x1040], edx
mov eax, 0x68766343
call fcn.00497474
mov edi, eax
mov edx, dword [ebp - 0x1040]
mov eax, dword [edx + 0x18]
call fcn.0048eb0a
mov dword [edi + 0x18], eax
jmp 0x579763
cmp dword [0x5af048], 1
jbe 0x579761
mov dword [0x611418], 2
mov dword [0x611414], 2
mov eax, dword [edx]
call fcn.004266af
mov dword [esp + 4], eax
mov dword [esp], str.Cloning_of_config_not_supported_for_type__s_n
call fcn.004268ea
xor edi, edi
mov eax, dword [ebx + 0x14]
mov edx, edi
call fcn.00425c52
mov edx, dword [ebx + 0x14]
xor eax, eax
test edx, edx
je 0x579779
mov eax, dword [edx + 4]
dec eax
lea ecx, [eax + 1]
mov dword [esp], 1
mov edx, dword [ebp - 0x1034]
mov eax, dword [ebp - 0x1030]
call fcn.004a98bf
mov eax, dword [ebp - 0x1024]
mov word [eax + 4], 0
cmp dword [ebp + 8], 0
je 0x5797fc
mov dword [esp], 0x20
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov edx, eax
test eax, eax
je 0x5797c4
mov ecx, 8
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1024]
mov eax, dword [eax + 0x18]
call fcn.00425c52
mov eax, dword [ebp - 0x1020]
cmp dword [eax + 0x28], 0
jne 0x579b60
mov dword [esp], 0x60531a
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov esi, dword [ebp - 0x1020]
mov dword [esi + 0x28], eax
jmp 0x579b60
cmp dword [ebp + 0x28], 0
je 0x579886
mov ebx, dword [esi + 0x28]
test ebx, ebx
jne 0x57981c
mov eax, 0x64696e66
call fcn.00497474
mov ebx, eax
mov dword [esi + 0x28], eax
cmp dword [ebx + 0x18], 0
jne 0x57982f
mov eax, 0x64726566
call fcn.00497474
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x28]
mov ebx, dword [eax + 0x18]
lea edi, [ebp - 0x1018]
mov ecx, edi
mov edx, dword [ebp + 0x28]
mov eax, ebx
call fcn.00576beb
test eax, eax
jne 0x579878
cmp dword [ebp - 0x1018], 0
je 0x579866
mov eax, dword [ebp - 0x1018]
mov ecx, dword [ebp - 0x1024]
mov word [ecx + 4], ax
jmp 0x579886
mov ecx, edi
mov edx, dword [ebp + 0x28]
mov eax, ebx
call fcn.00578987
test eax, eax
je 0x579854
jmp 0x57987b
or eax, 0xffffffff
mov dword [ebp - 0x102c], eax
jmp 0x579b60
cmp dword [ebp + 0x34], 0
je 0x579935
mov eax, dword [ebp + 0x34]
cmp dword [eax + 4], 0
je 0x579935
mov eax, dword [ebp - 0x1024]
mov word [eax + 2], 2
mov eax, dword [esi + 0x2c]
mov byte [eax + 0x23], 4
mov eax, dword [ebp + 0x34]
mov esi, dword [eax + 4]
cmp dword [ebp + 8], esi
je 0x579b60
mov dword [esp], 0x20
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov ebx, eax
test eax, eax
je 0x5798dc
mov ecx, 8
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1024]
mov eax, dword [eax + 0x18]
mov edx, ebx
call fcn.00425c52
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x34]
call fcn.00425c8e
add ebx, 0x10
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x696c6f63
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1020]
movzx eax, word [eax + 0x20]
mov dword [esp], eax
mov ecx, dword [ebp - 0x103c]
mov edx, dword [ebp - 0x1038]
mov eax, dword [ebp - 0x1028]
call fcn.004a9a53
inc dword [ebp + 8]
jmp 0x5798b6
mov eax, dword [ebp - 0x1024]
mov eax, dword [eax + 4]
mov edi, dword [ebp - 0x1028]
cmp byte [edi + 0x18], 2
jne 0x579b04
test ax, ax
jne 0x579b60
mov dword [esp], 0x20
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov ebx, eax
test eax, eax
je 0x579974
mov ecx, 8
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x1028]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
call fcn.004265d2
mov ecx, dword [ebp - 0x1024]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
cmp edx, 0
jbe 0x57999f
mov eax, dword [esi + 0x2c]
mov byte [eax + 0x22], 8
jmp 0x5799b2
jne 0x5799a5
test eax, eax
je 0x5799b2
mov eax, dword [esi + 0x2c]
cmp byte [eax + 0x22], 0
jne 0x5799b2
mov byte [eax + 0x22], 4
xor edi, edi
mov dword [ebx + 8], edi
mov dword [ebx + 0xc], edi
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov eax, dword [ebp - 0x1024]
mov eax, dword [eax + 0x18]
mov edx, ebx
call fcn.00425c52
cmp dword [ebp + 0x2c], 0
je 0x5799f1
mov eax, dword [ebp - 0x1028]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp + 0x30]
mov edx, dword [ebp + 0x2c]
call fcn.00427720
jmp 0x579ad2
cmp dword [ebp + 0xc], 0
je 0x579b60
mov edx, 0x60506f
mov eax, dword [ebp + 0xc]
call fcn.00427968
mov edi, eax
test eax, eax
je 0x579b60
mov dword [esp], 2
xor edx, edx
xor ecx, ecx
call fcn.00425b5e
mov dword [esp], edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__ftelli64]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], edx
xor ecx, ecx
mov dword [esp], ecx
xor edx, edx
xor ecx, ecx
mov eax, edi
call fcn.00425b5e
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [ebp - 0x1020], eax
mov dword [ebp - 0x101c], edx
jmp 0x579a7f
mov eax, dword [ebp - 0x1028]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x1024], ecx
call fcn.00427720
mov ecx, dword [ebp - 0x1024]
sub dword [ebp - 0x1020], ecx
sbb dword [ebp - 0x101c], 0
cmp dword [ebp - 0x101c], 0
je 0x579ae4
mov dword [esp + 0xc], edi
mov eax, 0x1000
mov ecx, dword [ebp - 0x1020]
xor edx, edx
cmp eax, ecx
sbb edx, dword [ebp - 0x101c]
cmovae eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 4], 1
lea edx, [ebp - 0x1018]
mov dword [esp], edx
call sub.api_ms_win_crt_stdio_l1_1_0.dll_fread
mov ecx, eax
cmp eax, 0xffffffff
lea edx, [ebp - 0x1018]
jne 0x579a55
mov eax, edi
call fcn.00425b84
mov eax, dword [ebx + 8]
cmp dword [ebx + 0xc], 0
jbe 0x579aef
mov eax, dword [esi + 0x2c]
mov byte [eax + 0x21], 8
jmp 0x579b60
cmp dword [ebp - 0x1020], 0
jne 0x579a88
jmp 0x579acb
jne 0x579af5
test eax, eax
je 0x579b60
mov eax, dword [esi + 0x2c]
cmp byte [eax + 0x21], 0
jne 0x579b60
mov byte [eax + 0x21], 4
jmp 0x579b60
test ax, ax
jne 0x579b60
cmp dword [ebp + 0x2c], 0
je 0x579b3b
mov eax, dword [ebp + 0x30]
mov dword [esp], eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov esi, dword [ebp - 0x1020]
mov dword [esi + 0x34], eax
mov edi, eax
mov esi, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x30]
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x1020]
mov esi, dword [ebp + 0x30]
mov dword [eax + 0x38], esi
jmp 0x579b60
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sub.api_ms_win_crt_string_l1_1_0.dll__strdup
mov esi, dword [ebp - 0x1020]
mov dword [esi + 0x34], eax
xor edx, edx
mov dword [esi + 0x38], edx
jmp 0x579b60
mov dword [ebp - 0x102c], 0xffffffff
mov eax, dword [ebp - 0x102c]
add esp, 0x104c
pop ebx
pop esi
pop edi
pop ebp
ret