Function at 0x48b340
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x9a8
mov eax, dword [0x4da8f0]
xor eax, esp
mov dword [esp + 0x9a4], eax
push ebx
xor ebx, ebx
push esi
push edi
cmp byte [esp + 0x9c0], bl
je 0x48b37d
cmp word [0x5268f2], bx
je 0x48b3e7
cmp dword [0x53c4fc], ebx
je 0x48b3e7
xor eax, eax
mov word [0x5268f2], ax
jmp 0x48b3e7
push 1
call fcn.00488920
mov al, byte [esp + 0x9bc]
mov dword [0x528230], 3
cmp al, bl
je 0x48b39e
mov byte [0x52826a], al
mov dword [0x51c020], ebx
mov dword [0x51c024], ebx
cmp byte [0x51b789], bl
jne 0x48b4fa
mov ecx, dword [0x52b4a4]
push 1
push ecx
mov ecx, 0x5220b8
call fcn.004469d0
cmp byte [0x5228d2], bl
je 0x48b3e7
mov edx, dword [0x52b4a4]
cmp dword [edx + 0x20], 1
jbe 0x48b3e7
mov dword [0x52822c], 4
cmp byte [0x51b789], bl
jne 0x48b4fa
cmp word [0x52aca2], bx
jne 0x48b4fa
mov esi, 0x52aca2
mov byte [esp + 0x9b8], bl
call fcn.00485d60
push 0x400
push 0x4c79a8
lea eax, [esp + 0x1b8]
push eax
push str.DefFolder
push 0x4c8138
call fcn.00460eb0
cmp word [esp + 0x1b0], bx
jne 0x48b464
cmp byte [0x5228d2], bl
je 0x48b4d7
push 0x400
lea ecx, [esp + 0x1b4]
push ecx
call fcn.0048cf70
cmp word [esp + 0x1b0], bx
je 0x48b4d7
lea edx, [esp + 0x1b0]
push edx
call fcn.004561a0
mov eax, 0x52aca2
mov edx, eax
jmp 0x48b480
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x48b480
lea edi, [esp + 0x1b0]
sub eax, edx
add edi, 0xfffffffe
jmp 0x48b4a0
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x48b4a0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
mov edi, edi
movzx ecx, word [esp + eax + 0x1b0]
mov word [eax + 0x52aca2], cx
add eax, 2
cmp cx, bx
jne 0x48b4c0
cmp word [0x5250f0], bx
mov eax, dword [0x528c34]
setne cl
push eax
movzx edx, cl
push edx
push 0x400
push 0x52aca2
call fcn.00485f00
cmp dword [0x52822c], ebx
jne 0x48b50c
mov dword [0x52822c], 5
cmp byte [0x51b789], bl
je 0x48b5f1
mov esi, dword [0x522bec]
cmp esi, ebx
je 0x48b54d
cmp esi, 1
je 0x48b54d
push 0x30
push 0x65
call fcn.004671c0
push eax
push 0x1fd
call fcn.004671c0
push eax
mov eax, dword [0x51c8dc]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x48b84e
push 0x400
push 0x52aca2
mov ecx, 0x5229e0
call fcn.00413320
push 0x400
push 0x5274fc
mov ecx, 0x5229e0
call fcn.00413300
cmp word [0x5274fc], bx
je 0x48b588
push 0x5274fc
call fcn.004561a0
lea ecx, [esp + 0x10]
push ecx
mov ecx, 0x5229e0
mov byte [0x52826e], bl
call fcn.00413350
mov edx, dword [esp + 0x90]
mov dword [0x528c34], edx
cmp esi, ebx
jne 0x48b5b7
cmp dword [esp + 0x118], ebx
je 0x48b5c3
mov eax, dword [esp + 0x144]
mov dword [0x52821c], eax
cmp dword [esp + 0x130], ebx
je 0x48b5e8
xor eax, eax
mov edi, edi
movzx ecx, word [eax + 0x4c7f44]
mov word [eax + 0x5250f0], cx
add eax, 2
cmp cx, bx
jne 0x48b5d0
jmp 0x48b5f1
xor ecx, ecx
mov word [0x5250f0], cx
mov edx, dword [0x51c8dc]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov ecx, dword [esp + 0x9b8]
neg eax
sbb eax, eax
and eax, dword [0x51c8dc]
push ebx
push ecx
push eax
call fcn.0048b040
test al, al
je 0x48b82f
mov eax, dword [0x53c504]
mov edi, 1
cmp eax, edi
je 0x48b632
cmp eax, 2
jne 0x48b684
mov edx, dword [0x53c510]
mov eax, dword [0x53c50c]
mov ecx, dword [0x53c508]
push edx
push eax
push ecx
lea edx, [esp + 0x16c]
push str._dd_dh_dm
push edx
call fcn.004b106b
add esp, 0x14
cmp dword [0x53c504], edi
jne 0x48b672
lea eax, [esp + 0x160]
push eax
mov ecx, 0x5282f4
jmp 0x48b67f
lea ecx, [esp + 0x160]
push ecx
mov ecx, 0x528318
call fcn.00473eb0
mov eax, dword [0x53c4fc]
cmp eax, ebx
je 0x48b695
push eax
call fcn.004836a0
jmp 0x48b6b9
cmp byte [0x51b789], bl
je 0x48b6b9
cmp dword [esp + 0x130], ebx
je 0x48b6b9
cmp word [0x5250f0], 0x2a
jne 0x48b6b9
xor edx, edx
mov word [0x5250f0], dx
mov eax, dword [0x52b4a4]
cmp dword [eax + 0x20], ebx
jne 0x48b6ea
push 0x30
push 0x65
call fcn.004671c0
push eax
push 0x14b
call fcn.004671c0
mov ecx, dword [0x51c8dc]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x48b82f
cmp word [0x5268f2], bx
je 0x48b75f
cmp dword [0x5270f4], ebx
jne 0x48b75f
push ebx
push 0x4c9388
push 0x5268f2
call fcn.00436260
mov esi, eax
cmp esi, ebx
je 0x48b75f
push esi
push 0x400
lea edx, [esp + 0x1b8]
push edi
push edx
call fcn.004b3d1a
add esp, 0x10
mov dword [esp + 0xc], 0x30c
cmp eax, ebx
jbe 0x48b756
lea ecx, [esp + 0xc]
push ecx
push eax
lea edx, [esp + 0x1b8]
push edx
call dword [sym.imp.ADVAPI32.dll_IsTextUnicode]
test eax, eax
je 0x48b756
mov dword [0x5270f4], 3
push esi
call fcn.004b3dae
add esp, 4
mov al, byte [0x527dfc]
mov ecx, 0x51c8e0
mov byte [0x51c90c], al
call fcn.00470460
cmp byte [0x53c516], bl
je 0x48b782
call fcn.00489670
jmp 0x48b794
movzx ecx, byte [0x529c3b]
push ecx
mov ecx, 0x5229e0
call fcn.004179c0
cmp dword [0x53c4fc], ebx
je 0x48b7a6
push 0x5268f2
call fcn.00435da0
cmp dword [0x51bfa4], edi
je 0x48b82f
cmp byte [0x51b789], bl
je 0x48b7c6
mov ecx, 0x5220b8
call fcn.0044acf0
jmp 0x48b82f
cmp byte [0x52826a], bl
je 0x48b7d8
mov ecx, 0x522098
call fcn.00476dc0
push 0x400
lea edx, [esp + 0x1b4]
push edx
call fcn.0048cf70
lea eax, [esp + 0x1b0]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x48b7f4
sub eax, edx
sar eax, 1
push eax
push 0x52aca2
lea eax, [esp + 0x1b8]
push eax
call fcn.004783c0
push 0x52aca2
test eax, eax
jne 0x48b825
call fcn.00456820
push eax
mov ecx, 0x5220b8
call fcn.004492b0
mov ecx, dword [0x53c4fc]
push ecx
call fcn.004b1895
add esp, 4
mov ecx, 0x51c8e0
mov byte [0x51c90c], bl
call fcn.00470460
mov ecx, dword [esp + 0x9b0]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004b102c
add esp, 0x9a8
ret 0xc