Function at 0x483fc0
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 0x483ffd
cmp word [0x4f4cb0], bx
je 0x484067
cmp dword [0x50e300], ebx
je 0x484067
xor eax, eax
mov word [0x4f4cb0], ax
jmp 0x484067
push 1
call fcn.00481770
mov al, byte [esp + 0x9bc]
mov dword [0x4f65ec], 3
cmp al, bl
je 0x48401e
mov byte [0x4f6622], al
mov dword [0x4ea420], ebx
mov dword [0x4ea424], ebx
cmp byte [0x4e9b89], bl
jne 0x484175
mov ecx, dword [0x4f981c]
push 1
push ecx
mov ecx, 0x4f0478
call fcn.00440890
cmp byte [0x4f0c92], bl
je 0x484067
mov edx, dword [0x4f981c]
cmp dword [edx + 0x20], 1
jbe 0x484067
mov dword [0x4f65e8], 4
cmp byte [0x4e9b89], bl
jne 0x484175
cmp word [0x4f901c], bx
jne 0x484175
mov esi, 0x4f901c
mov byte [esp + 0x9b8], bl
call fcn.0047edc0
push 0x400
push 0x4bad38
lea eax, [esp + 0x1b8]
push eax
push str.DefFolder
push str.Compression
call fcn.0045b910
cmp word [esp + 0x1b0], bx
jne 0x4840e4
cmp byte [0x4f0c92], bl
je 0x484157
push 0x400
lea ecx, [esp + 0x1b4]
push ecx
call fcn.00485b10
cmp word [esp + 0x1b0], bx
je 0x484157
lea edx, [esp + 0x1b0]
push edx
call fcn.004516d0
mov eax, 0x4f901c
mov edx, eax
jmp 0x484100
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x484100
lea edi, [esp + 0x1b0]
sub eax, edx
add edi, 0xfffffffe
jmp 0x484120
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x484120
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 + 0x4f901c], cx
add eax, 2
cmp cx, bx
jne 0x484140
cmp word [0x4f34b0], bx
mov eax, dword [0x4f6fbc]
setne cl
movzx edx, cl
push eax
push edx
push 0x4f901c
call fcn.0047ef60
cmp dword [0x4f65e8], ebx
jne 0x484187
mov dword [0x4f65e8], 5
cmp byte [0x4e9b89], bl
je 0x484271
mov esi, dword [0x4f0fac]
cmp esi, ebx
je 0x4841c8
cmp esi, 1
je 0x4841c8
push 0x30
push 0x65
call fcn.004611c0
push eax
push 0x1fd
call fcn.004611c0
push eax
mov eax, dword [0x4eacd4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4844cf
push 0x400
push 0x4f901c
mov ecx, 0x4f0da0
call fcn.004130e0
push 0x400
push 0x4f58b8
mov ecx, 0x4f0da0
call fcn.004130c0
cmp word [0x4f58b8], bx
je 0x484203
push 0x4f58b8
call fcn.004516d0
lea ecx, [esp + 0x10]
push ecx
mov ecx, 0x4f0da0
mov byte [0x4f6626], bl
call fcn.00413110
mov edx, dword [esp + 0x90]
mov dword [0x4f6fbc], edx
cmp esi, ebx
jne 0x484232
cmp dword [esp + 0x118], ebx
je 0x48423e
mov eax, dword [esp + 0x144]
mov dword [0x4f65d8], eax
cmp dword [esp + 0x130], ebx
je 0x484268
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x4baefc]
mov word [eax + 0x4f34b0], cx
add eax, 2
cmp cx, bx
jne 0x484250
jmp 0x484271
xor ecx, ecx
mov word [0x4f34b0], 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.00483cc0
test al, al
je 0x4844b0
mov eax, dword [0x50e308]
mov edi, 1
cmp eax, edi
je 0x4842b2
cmp eax, 2
jne 0x484304
mov edx, dword [0x50e314]
mov eax, dword [0x50e310]
mov ecx, dword [0x50e30c]
push edx
push eax
push ecx
lea edx, [esp + 0x16c]
push str._dd_dh_dm
push edx
call fcn.004a48e2
add esp, 0x14
cmp dword [0x50e308], edi
jne 0x4842f2
lea eax, [esp + 0x160]
push eax
mov ecx, 0x4f667c
jmp 0x4842ff
lea ecx, [esp + 0x160]
push ecx
mov ecx, 0x4f66a0
call fcn.0046dcc0
mov eax, dword [0x50e300]
cmp eax, ebx
je 0x484315
push eax
call fcn.0047c970
jmp 0x484339
cmp byte [0x4e9b89], bl
je 0x484339
cmp dword [esp + 0x130], ebx
je 0x484339
cmp word [0x4f34b0], 0x2a
jne 0x484339
xor edx, edx
mov word [0x4f34b0], dx
mov eax, dword [0x4f981c]
cmp dword [eax + 0x20], ebx
jne 0x48436a
push 0x30
push 0x65
call fcn.004611c0
push eax
push 0x14b
call fcn.004611c0
mov ecx, dword [0x4eacd4]
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x4844b0
cmp word [0x4f4cb0], bx
je 0x4843df
cmp dword [0x4f54b0], ebx
jne 0x4843df
push ebx
push 0x4baa34
push 0x4f4cb0
call fcn.00432060
mov esi, eax
cmp esi, ebx
je 0x4843df
push esi
push 0x400
lea edx, [esp + 0x1b8]
push edi
push edx
call fcn.004a65f2
add esp, 0x10
mov dword [esp + 0xc], 0x30c
cmp eax, ebx
jbe 0x4843d6
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 0x4843d6
mov dword [0x4f54b0], 3
push esi
call fcn.004a6995
add esp, 4
cmp word [0x4f60b8], bx
mov ecx, 0x4eacd8
setne al
mov byte [0x4ead04], al
call fcn.0046a670
cmp byte [0x50e31a], bl
je 0x484407
call fcn.00482490
jmp 0x484419
movzx ecx, byte [0x4f7fc3]
push ecx
mov ecx, 0x4f0da0
call fcn.00417240
cmp dword [0x50e300], ebx
je 0x48442b
push 0x4f4cb0
call fcn.00431a40
cmp dword [0x4ea3a4], edi
je 0x4844b0
cmp byte [0x4e9b89], bl
je 0x484447
mov ecx, 0x4f0478
call fcn.004443d0
jmp 0x4844b0
cmp byte [0x4f6622], bl
je 0x484459
mov ecx, 0x4f0450
call fcn.00470c20
push 0x400
lea edx, [esp + 0x1b4]
push edx
call fcn.00485b10
lea eax, [esp + 0x1b0]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x484475
sub eax, edx
sar eax, 1
push eax
push 0x4f901c
lea eax, [esp + 0x1b8]
push eax
call fcn.00473470
push 0x4f901c
test eax, eax
jne 0x4844a6
call fcn.00451c30
push eax
mov ecx, 0x4f0478
call fcn.004430d0
mov ecx, dword [0x50e300]
push ecx
call fcn.004a5515
add esp, 4
mov ecx, 0x4eacd8
mov byte [0x4ead04], bl
call fcn.0046a670
mov ecx, dword [esp + 0x9b0]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004a48d3
add esp, 0x9a8
ret 0xc