Function at 0x484200
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 0x48423d
cmp word [0x4f4ce0], bx
je 0x4842a7
cmp dword [0x50d788], ebx
je 0x4842a7
xor eax, eax
mov word [0x4f4ce0], ax
jmp 0x4842a7
push 1
call fcn.004819c0
mov al, byte [esp + 0x9bc]
mov dword [0x4f661c], 3
cmp al, bl
je 0x48425e
mov byte [0x4f6652], al
mov dword [0x4ea420], ebx
mov dword [0x4ea424], ebx
cmp byte [0x4e9b89], bl
jne 0x4843b5
mov ecx, dword [0x4f987c]
push 1
push ecx
mov ecx, 0x4f04a8
call fcn.004408f0
cmp byte [0x4f0cc2], bl
je 0x4842a7
mov edx, dword [0x4f987c]
cmp dword [edx + 0x20], 1
jbe 0x4842a7
mov dword [0x4f6618], 4
cmp byte [0x4e9b89], bl
jne 0x4843b5
cmp word [0x4f907c], bx
jne 0x4843b5
mov esi, 0x4f907c
mov byte [esp + 0x9b8], bl
call fcn.0047eff0
push 0x400
push 0x4bad38
lea eax, [esp + 0x1b8]
push eax
push str.DefFolder
push str.Compression
call fcn.0045ba60
cmp word [esp + 0x1b0], bx
jne 0x484324
cmp byte [0x4f0cc2], bl
je 0x484397
push 0x400
lea ecx, [esp + 0x1b4]
push ecx
call fcn.00485d40
cmp word [esp + 0x1b0], bx
je 0x484397
lea edx, [esp + 0x1b0]
push edx
call fcn.004516c0
mov eax, 0x4f907c
mov edx, eax
jmp 0x484340
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x484340
lea edi, [esp + 0x1b0]
sub eax, edx
add edi, 0xfffffffe
jmp 0x484360
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x484360
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 0x484380
cmp word [0x4f34e0], bx
mov eax, dword [0x4f701c]
setne cl
movzx edx, cl
push eax
push edx
push 0x4f907c
call fcn.0047f190
cmp dword [0x4f6618], ebx
jne 0x4843c7
mov dword [0x4f6618], 5
cmp byte [0x4e9b89], bl
je 0x4844b1
mov esi, dword [0x4f0fdc]
cmp esi, ebx
je 0x484408
cmp esi, 1
je 0x484408
push 0x30
push 0x65
call fcn.00461310
push eax
push 0x1fd
call fcn.00461310
push eax
mov eax, dword [0x4eacd4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x48470f
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 0x484443
push 0x4f58e8
call fcn.004516c0
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 0x484472
cmp dword [esp + 0x118], ebx
je 0x48447e
mov eax, dword [esp + 0x144]
mov dword [0x4f6608], eax
cmp dword [esp + 0x130], ebx
je 0x4844a8
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4baefc]
mov word [eax + 0x4f34e0], cx
add eax, 2
cmp cx, bx
jne 0x484490
jmp 0x4844b1
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.00483f10
test al, al
je 0x4846f0
mov eax, dword [0x50d790]
mov edi, 1
cmp eax, edi
je 0x4844f2
cmp eax, 2
jne 0x484544
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.004a4b52
add esp, 0x14
cmp dword [0x50d790], edi
jne 0x484532
lea eax, [esp + 0x160]
push eax
mov ecx, 0x4f66dc
jmp 0x48453f
lea ecx, [esp + 0x160]
push ecx
mov ecx, 0x4f6700
call fcn.0046dea0
mov eax, dword [0x50d788]
cmp eax, ebx
je 0x484555
push eax
call fcn.0047cba0
jmp 0x484579
cmp byte [0x4e9b89], bl
je 0x484579
cmp dword [esp + 0x130], ebx
je 0x484579
cmp word [0x4f34e0], 0x2a
jne 0x484579
xor edx, edx
mov word [0x4f34e0], dx
mov eax, dword [0x4f987c]
cmp dword [eax + 0x20], ebx
jne 0x4845aa
push 0x30
push 0x65
call fcn.00461310
push eax
push 0x14b
call fcn.00461310
mov ecx, dword [0x4eacd4]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4846f0
cmp word [0x4f4ce0], bx
je 0x48461f
cmp dword [0x4f54e0], ebx
jne 0x48461f
push ebx
push 0x4baa34
push 0x4f4ce0
call fcn.00432070
mov esi, eax
cmp esi, ebx
je 0x48461f
push esi
push 0x400
lea edx, [esp + 0x1b8]
push edi
push edx
call fcn.004a6862
add esp, 0x10
mov dword [esp + 0xc], 0x30c
cmp eax, ebx
jbe 0x484616
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 0x484616
mov dword [0x4f54e0], 3
push esi
call fcn.004a6c05
add esp, 4
cmp word [0x4f60e8], bx
mov ecx, 0x4eacd8
setne al
mov byte [0x4ead04], al
call fcn.0046a840
cmp byte [0x50d7a2], bl
je 0x484647
call fcn.004826e0
jmp 0x484659
movzx ecx, byte [0x4f8023]
push ecx
mov ecx, 0x4f0dd0
call fcn.00417250
cmp dword [0x50d788], ebx
je 0x48466b
push 0x4f4ce0
call fcn.00431a50
cmp dword [0x4ea3a4], edi
je 0x4846f0
cmp byte [0x4e9b89], bl
je 0x484687
mov ecx, 0x4f04a8
call fcn.00444430
jmp 0x4846f0
cmp byte [0x4f6652], bl
je 0x484699
mov ecx, 0x4f0480
call fcn.00470e00
push 0x400
lea edx, [esp + 0x1b4]
push edx
call fcn.00485d40
lea eax, [esp + 0x1b0]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4846b5
sub eax, edx
sar eax, 1
push eax
push 0x4f907c
lea eax, [esp + 0x1b8]
push eax
call fcn.00473650
push 0x4f907c
test eax, eax
jne 0x4846e6
call fcn.00451c20
push eax
mov ecx, 0x4f04a8
call fcn.00443130
mov ecx, dword [0x50d788]
push ecx
call fcn.004a5785
add esp, 4
mov ecx, 0x4eacd8
mov byte [0x4ead04], bl
call fcn.0046a840
mov ecx, dword [esp + 0x9b0]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004a4b43
add esp, 0x9a8
ret 0xc