Function at 0x484260
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x9a8
mov eax, dword [0x4cc3b0]
xor eax, esp
mov dword [esp + 0x9a4], eax
push ebx
xor ebx, ebx
push esi
push edi
cmp byte [esp + 0x9c0], bl
je 0x48429d
cmp word [0x4f4ce0], bx
je 0x484307
cmp dword [0x50d788], ebx
je 0x484307
xor eax, eax
mov word [0x4f4ce0], ax
jmp 0x484307
push 1
call fcn.00481a10
mov al, byte [esp + 0x9bc]
mov dword [0x4f661c], 3
cmp al, bl
je 0x4842be
mov byte [0x4f6652], al
mov dword [0x4ea420], ebx
mov dword [0x4ea424], ebx
cmp byte [0x4e9b89], bl
jne 0x484415
mov ecx, dword [0x4f987c]
push 1
push ecx
mov ecx, 0x4f04a8
call fcn.00440870
cmp byte [0x4f0cc2], bl
je 0x484307
mov edx, dword [0x4f987c]
cmp dword [edx + 0x20], 1
jbe 0x484307
mov dword [0x4f6618], 4
cmp byte [0x4e9b89], bl
jne 0x484415
cmp word [0x4f907c], bx
jne 0x484415
mov esi, 0x4f907c
mov byte [esp + 0x9b8], bl
call fcn.0047f040
push 0x400
push 0x4bad38
lea eax, [esp + 0x1b8]
push eax
push str.DefFolder
push 0x4bb0d0
call fcn.0045ba30
cmp word [esp + 0x1b0], bx
jne 0x484384
cmp byte [0x4f0cc2], bl
je 0x4843f7
push 0x400
lea ecx, [esp + 0x1b4]
push ecx
call fcn.00485da0
cmp word [esp + 0x1b0], bx
je 0x4843f7
lea edx, [esp + 0x1b0]
push edx
call fcn.00451670
mov eax, 0x4f907c
mov edx, eax
jmp 0x4843a0
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4843a0
lea edi, [esp + 0x1b0]
sub eax, edx
add edi, 0xfffffffe
jmp 0x4843c0
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x4843c0
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 + 0x4f907c], cx
add eax, 2
cmp cx, bx
jne 0x4843e0
cmp word [0x4f34e0], bx
mov eax, dword [0x4f701c]
setne cl
movzx edx, cl
push eax
push edx
push 0x4f907c
call fcn.0047f1e0
cmp dword [0x4f6618], ebx
jne 0x484427
mov dword [0x4f6618], 5
cmp byte [0x4e9b89], bl
je 0x484511
mov esi, dword [0x4f0fdc]
cmp esi, ebx
je 0x484468
cmp esi, 1
je 0x484468
push 0x30
push 0x65
call fcn.004612e0
push eax
push 0x1fd
call fcn.004612e0
push eax
mov eax, dword [0x4eacd4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x48476f
push 0x400
push 0x4f907c
mov ecx, 0x4f0dd0
call fcn.004130a0
push 0x400
push 0x4f58e8
mov ecx, 0x4f0dd0
call fcn.00413080
cmp word [0x4f58e8], bx
je 0x4844a3
push 0x4f58e8
call fcn.00451670
lea ecx, [esp + 0x10]
push ecx
mov ecx, 0x4f0dd0
mov byte [0x4f6656], bl
call fcn.004130d0
mov edx, dword [esp + 0x90]
mov dword [0x4f701c], edx
cmp esi, ebx
jne 0x4844d2
cmp dword [esp + 0x118], ebx
je 0x4844de
mov eax, dword [esp + 0x144]
mov dword [0x4f6608], eax
cmp dword [esp + 0x130], ebx
je 0x484508
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4baefc]
mov word [eax + 0x4f34e0], cx
add eax, 2
cmp cx, bx
jne 0x4844f0
jmp 0x484511
xor ecx, ecx
mov word [0x4f34e0], cx
mov edx, dword [0x4eacd4]
push edx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov ecx, dword [esp + 0x9b8]
neg eax
sbb eax, eax
and eax, dword [0x4eacd4]
push ebx
push ecx
push eax
call fcn.00483f70
test al, al
je 0x484750
mov eax, dword [0x50d790]
mov edi, 1
cmp eax, edi
je 0x484552
cmp eax, 2
jne 0x4845a4
mov edx, dword [0x50d79c]
mov eax, dword [0x50d798]
mov ecx, dword [0x50d794]
push edx
push eax
push ecx
lea edx, [esp + 0x16c]
push str._dd_dh_dm
push edx
call fcn.004a4bc2
add esp, 0x14
cmp dword [0x50d790], edi
jne 0x484592
lea eax, [esp + 0x160]
push eax
mov ecx, 0x4f66dc
jmp 0x48459f
lea ecx, [esp + 0x160]
push ecx
mov ecx, 0x4f6700
call fcn.0046def0
mov eax, dword [0x50d788]
cmp eax, ebx
je 0x4845b5
push eax
call fcn.0047cc00
jmp 0x4845d9
cmp byte [0x4e9b89], bl
je 0x4845d9
cmp dword [esp + 0x130], ebx
je 0x4845d9
cmp word [0x4f34e0], 0x2a
jne 0x4845d9
xor edx, edx
mov word [0x4f34e0], dx
mov eax, dword [0x4f987c]
cmp dword [eax + 0x20], ebx
jne 0x48460a
push 0x30
push 0x65
call fcn.004612e0
push eax
push 0x14b
call fcn.004612e0
mov ecx, dword [0x4eacd4]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x484750
cmp word [0x4f4ce0], bx
je 0x48467f
cmp dword [0x4f54e0], ebx
jne 0x48467f
push ebx
push 0x4baa34
push 0x4f4ce0
call fcn.00432010
mov esi, eax
cmp esi, ebx
je 0x48467f
push esi
push 0x400
lea edx, [esp + 0x1b8]
push edi
push edx
call fcn.004a68d2
add esp, 0x10
mov dword [esp + 0xc], 0x30c
cmp eax, ebx
jbe 0x484676
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 0x484676
mov dword [0x4f54e0], 3
push esi
call fcn.004a6c75
add esp, 4
cmp word [0x4f60e8], bx
mov ecx, 0x4eacd8
setne al
mov byte [0x4ead04], al
call fcn.0046a830
cmp byte [0x50d7a2], bl
je 0x4846a7
call fcn.00482730
jmp 0x4846b9
movzx ecx, byte [0x4f8023]
push ecx
mov ecx, 0x4f0dd0
call fcn.00417250
cmp dword [0x50d788], ebx
je 0x4846cb
push 0x4f4ce0
call fcn.004319f0
cmp dword [0x4ea3a4], edi
je 0x484750
cmp byte [0x4e9b89], bl
je 0x4846e7
mov ecx, 0x4f04a8
call fcn.004443b0
jmp 0x484750
cmp byte [0x4f6652], bl
je 0x4846f9
mov ecx, 0x4f0480
call fcn.00470e50
push 0x400
lea edx, [esp + 0x1b4]
push edx
call fcn.00485da0
lea eax, [esp + 0x1b0]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x484715
sub eax, edx
sar eax, 1
push eax
push 0x4f907c
lea eax, [esp + 0x1b8]
push eax
call fcn.004736b0
push 0x4f907c
test eax, eax
jne 0x484746
call fcn.00451bd0
push eax
mov ecx, 0x4f04a8
call fcn.004430b0
mov ecx, dword [0x50d788]
push ecx
call fcn.004a57f5
add esp, 4
mov ecx, 0x4eacd8
mov byte [0x4ead04], bl
call fcn.0046a830
mov ecx, dword [esp + 0x9b0]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004a4bb3
add esp, 0x9a8
ret 0xc