Function at 0x8513fd
Capabilities:
Read file on windows
Set current directory

Disassembly:
mov esi, 0x5098a4
cmp byte [esi], 0
je 0x85140a
inc esi
jmp 0x851402
cmp byte [esi], 0x5c
je 0x851412
dec esi
jmp 0x85140a
push dword [esi]
mov byte [esi + 1], 0
push 0x5098a4
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
pop dword [esi]
mov esi, 0x508fa8
call fcn.00850221
cmp eax, 0xffffffff
jne 0x851435
ret
call fcn.00851636
mov dword [0x5097d0], eax
mov dword [0x5097cc], eax
shl eax, 1
add eax, 0x186a0
push eax
mov ebx, 0x5097c8
mov edx, eax
call fcn.0084b515
add dword [0x5097d0], eax
pop eax
add eax, 0xfff
and eax, 0xfffff000
sub eax, 0x20
add eax, dword [0x5097c8]
mov dword [0x509f28], eax
mov dword [0x4319c0], 0
push 0
push 0x4319c0
push dword [0x5097cc]
push dword [0x5097c8]
push dword [0x4319b0]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [0x4319b0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [0x4319b0], 0
push 0x444488
push dword [0x5097cc]
push dword [0x5097c8]
call fcn.0085b98b
cmp eax, 0
jne 0x8514db
call fcn.00850874
jmp fcn.00850dc8
mov dword [0x84733c], eax
push 0x444484
push eax
push dword [0x5097c8]
call fcn.0085ba7f
mov byte [0x847350], 0
mov esi, str..idata
sub esi, 0x44457c
add esi, dword [0x444484]
mov eax, dword [0x5097c8]
add eax, esi
mov esi, eax
add eax, 0x190
mov dword [0x509ddc], eax
cmp esi, dword [0x509ddc]
ja 0x851531
cmp dword [esi], 0x6372732e
je 0x851536
add esi, 0x28
jmp 0x85151c
jmp 0x85166b
push dword [esi + 8]
pop dword [0x4319b4]
mov eax, dword [esi + 0x14]
mov dword [0x8177f8], 0
mov dword [0x8177d4], 0
call fcn.00850f65
call fcn.00851b55
cmp eax, 0
jne 0x85156a
jmp 0x85166b
add eax, dword [0x5097c8]
mov dword [0x5097d4], eax
mov edi, dword [0x5097d4]
add edi, dword [0x4319b4]
mov eax, 0xa0d0a0d
mov ecx, 0x64
rep stosd dword es:[edi], eax
mov eax, dword [0x5097d4]
add eax, dword [0x4319b4]
mov dword [0x4660a0], eax
push dword [0x5097d4]
pop dword [0x4660d0]
mov byte [0x5098a0], 1
call fcn.00878146
call fcn.00878662
call fcn.00850ee1
cmp byte [0x81d3d4], 1
jne 0x8515cd
jmp 0x8515fa
push dword [0x5097c8]
pop dword [0x4696b8]
call fcn.00882601
cmp byte [0x81d3d8], 1
jne 0x8515f5
mov esi, eax
mov edi, 0x46936e
rep movsb byte es:[edi], byte [esi]
call fcn.00882a80
call fcn.0085c554
mov edi, dword [0x5097d4]
mov ecx, 5
mov eax, 0xa0d
sub edi, 0xa
rep stosw word es:[edi], ax
mov dword [0x509f34], 0
call fcn.008501df
push 0x4a7b68
push dword [0x8187e4]
call dword [sym.imp.USER32.dll_SetWindowTextA]
call fcn.008787e4
ret
cmp dword [0x847a40], 1
jne 0x851679
jmp 0x89d5c1
push 0
push 0x8516bc
push dword [0x8187e4]
push 0x6978
push dword [0x8187e0]
call dword [sym.imp.USER32.dll_DialogBoxParamA]
test dword [0x509f30], 0x80000000
je 0x8516b2
and dword [0x509f30], 0xff
jmp 0x89d5c1
call fcn.00850874
jmp fcn.00850dc8
mov byte [0x8471dc], 0
push 0x846fd0
call fcn.0089d564
mov eax, esp
mov dword [0x81363c], eax
mov dword [0x8471d8], 0
call fcn.0089d356
push 0x444488
push dword [0x5097cc]
push dword [0x5097c8]
call fcn.0085beb5
cmp eax, 0
jne 0x89d604
ret
mov dword [0x84733c], eax
push 0x444484
push eax
push dword [0x5097c8]
call fcn.0085ba7f
call fcn.0089db9b
call fcn.0089eb4b
call fcn.0089ec0b
call fcn.0089edbd
call fcn.008a0536
push 0x44461c
call fcn.008a0547
push 0x444624
call fcn.008a0547
call fcn.0089f25e
call fcn.0089f3a1
call fcn.0089eeb3
call fcn.008a02a2
call fcn.0089f43d
call fcn.0089ff0a
call fcn.008a0132
call fcn.008a01c6
call fcn.0089e79a
call fcn.008a0665
cmp byte [0x431f48], 1
jne 0x89d697
call fcn.008b243b
cmp dword [0x8479d8], 0
je 0x89d695
call fcn.008b2534
jmp 0x89d6b9
call fcn.008b1a30
cmp dword [0x8479d8], 0
je 0x89d6b9
mov eax, dword [0x8479d8]
call fcn.0084b661
mov dword [0x8479d8], 0
cmp dword [0x8471d8], 0x41534f52
jne 0x89d6cc
call fcn.0089d45f
jmp 0x89d6df
cmp dword [0x8471d8], 0x4256534d
jne 0x89d6df
call fcn.008a330e
jmp 0x89d6df
call fcn.0089df4e
call fcn.0089e4da
call fcn.0089df15
call fcn.0089e065
call fcn.0089e34b
call fcn.008af0ce
call fcn.008af216
call fcn.008a0b75
call fcn.008aef71
call fcn.008aeffa
call fcn.008aeed6
call fcn.0089e268
call fcn.008a0b75
mov byte [0x847714], 1
push 0x19
call fcn.008ae8f4
push 0x19
call fcn.008aeb23
mov byte [0x847714], 0
call fcn.0089e79a
mov byte [0x8471dc], 1
call fcn.008a0b75
mov byte [0x8471dc], 0
call fcn.008a3075
call fcn.008af424
call fcn.0089e79a
call fcn.008a298f
push str.Analyzes_of_pointers_to_Code._Wait...
push 0
push 0xc
push dword [0x465e85]
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.008a0e69
cmp byte [0x847474], 1
jne 0x89d795
call fcn.008a0b75
call fcn.0089e79a
push str.Negative_Analysis_of_Code._May_be_slow...
push 0
push 0xc
push dword [0x465e85]
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.008a101a
mov ecx, dword [0x847414]
push ecx
push ecx
call fcn.008a109f
cmp byte [0x847474], 1
jne 0x89d7cf
call fcn.008a0b75
call fcn.0089e79a
pop ecx
push ecx
cmp ecx, 0x64
jae 0x89d7ef
cmp ecx, 0x32
jbe 0x89d7ef
push 0x14
call fcn.008ae8f4
push 0x14
call fcn.008aeb23
jmp 0x89d82b
cmp ecx, 0x32
ja 0x89d80d
cmp ecx, 0x19
jbe 0x89d80d
push 0xf
call fcn.008ae8f4
push 0xf
call fcn.008aeb23
jmp 0x89d82b
cmp ecx, 0x19
ja 0x89d82b
cmp ecx, 0xd
jbe 0x89d82b
push 0xc
call fcn.008ae8f4
push 0xc
call fcn.008aeb23
jmp 0x89d82b
pop ecx
shr ecx, 1
mov eax, ecx
shr eax, 1
add ecx, eax
cmp ecx, 0
jne 0x89d7b5
call fcn.008a298f
call fcn.008a0b75
call fcn.0089e79a
call fcn.008a31be
call fcn.008a132d
call fcn.008af790
call fcn.008af424
mov byte [0x8471dc], 1
call fcn.008a0b75
call fcn.008a2679
call fcn.008a27ca
call fcn.008a2887
call fcn.008a298f
mov edi, dword [0x5097d4]
call fcn.008b1b20
mov dword [0x84747c], edi
add dword [0x84747c], 0x7a120
mov word [0x48d62c], 0x3130
push str.Writing_Data...
push 0
push 0xc
push dword [0x465e85]
call dword [sym.imp.USER32.dll_SendMessageA]
cmp byte [0x431f4c], 1
jne 0x89d8d3
cmp dword [str..EXE.EXE.SCR.DLL.SYSTest.a], 0x5359532e
je 0x89d8d3
call fcn.008ade37
mov dword [0x846fc8], edi
mov dword [0x8473fc], 0
call fcn.008a1925
pushal
call fcn.008b17fb
call fcn.008b194d
popal
call fcn.0089de17
cmp byte [0x8471e0], 1
jne 0x89d915
call fcn.008a1dcf
cmp byte [0x84748c], 1
jne 0x89d915
call fcn.0089dd9e
call fcn.0088b8b9
cmp dword [0x8476f4], 0
je 0x89d937
mov eax, dword [0x8476f4]
call fcn.0084b661
mov dword [0x8476f4], 0
cmp dword [0x8473a4], 0
je 0x89d954
mov eax, dword [0x8473a4]
call fcn.0084b661
mov dword [0x8473a4], 0
cmp dword [0x5097c8], 0
je 0x89d971
mov eax, dword [0x5097c8]
call fcn.0084b661
mov dword [0x5097c8], 0
push dword [0x5097d4]
pop dword [0x5097c8]
cmp dword [0x846fa0], 0
je 0x89d99a
mov eax, dword [0x846fa0]
call fcn.0084b661
mov dword [0x846fa0], 0
cmp dword [0x846fa8], 0
je 0x89d9b7
mov eax, dword [0x846fa8]
call fcn.0084b661
mov dword [0x846fa8], 0
cmp dword [0x846fb0], 0
je 0x89d9d4
mov eax, dword [0x846fb0]
call fcn.0084b661
mov dword [0x846fb0], 0
cmp dword [0x846fb8], 0
je 0x89d9f1
mov eax, dword [0x846fb8]
call fcn.0084b661
mov dword [0x846fb8], 0
call fcn.008501df
push 0x4a7b68
push dword [0x8187e4]
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov dword [0x509f34], 0
mov dword [str.Choose_main_RosAsm_PE_file...], 0x431a06
mov esi, 0x508fa8
cmp byte [esi], 0
je 0x89da28
inc esi
jmp 0x89da20
dec esi
lea edi, [esi + 2]
std
movsb byte es:[edi], byte [esi]
cmp byte [esi], 0x5c
jne 0x89da35
jmp 0x89da3d
cmp esi, 0x508fa8
jae 0x89da2d
inc esi
mov word [esi], 0x794d
cld
cmp dword [0x431f48], 0
jne 0x89da8f
call fcn.0085083f
mov dword [str.Choose_main_RosAsm_PE_file...], 0x4319e8
cmp eax, 0
jne 0x89da80
push 0x1010
push str.Take_care___...
push str._..._with_Un_modified_File_Name.
push dword [0x8187e4]
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x8470d4
call fcn.0089d564
jmp 0x89dabe
call fcn.00850d38
mov dword [str.Choose_main_RosAsm_PE_file...], 0x4319e8
push 0x8470d4
call fcn.0089d564
call fcn.008501df
push 0x4a7b68
push dword [0x8187e4]
call dword [sym.imp.USER32.dll_SetWindowTextA]
call fcn.008787e4
push dword [0x5097d4]
pop dword [0x5097c8]
mov byte [0x84734c], 0
mov byte [0x5098a0], 1
call fcn.0089daea
mov byte [0x847350], 1
ret