Function at 0x417830
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x128
mov eax, dword [0x5f1cf8]
xor eax, esp
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x130]
push esi
mov esi, dword [esp + 0x130]
push edi
mov edi, dword [esp + 0x13c]
cmp edi, 0xa
je 0x417881
cmp edi, 0xb
je 0x417881
pop edi
mov eax, 0xfffffffb
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.00463f56
add esp, 0x128
ret
push ebx
xor ebx, ebx
cmp eax, ebx
je 0x417c57
cmp byte [eax], bl
je 0x417c57
push ebp
push 0x4c2498
push eax
call fcn.0046a13f
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x4178f5
mov eax, dword [esp + 0x148]
cmp eax, 2
jne 0x417913
push ebx
push ebx
push ebp
call fcn.004296c0
add esp, 0xc
cmp eax, ebx
je 0x4178db
push eax
mov ecx, esi
call fcn.004240e0
push ebx
push ebx
push ebp
call fcn.004296c0
add esp, 0xc
cmp eax, ebx
jne 0x4178c4
push ebp
call fcn.0046aa69
add esp, 4
test eax, eax
jne 0x417980
push ebp
call fcn.00469fff
add esp, 4
mov eax, 0xfffffffc
pop ebp
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.00463f56
add esp, 0x128
ret
cmp eax, ebx
jne 0x417920
lea ecx, [esi + 4]
mov dword [esp + 0x10], ecx
jmp 0x417927
lea edx, [esi + 8]
mov dword [esp + 0x10], edx
cmp edi, 0xa
jne 0x417993
push 2
push ebx
push ebp
call fcn.0046a9e4
push ebp
call fcn.0046a8ef
push ebp
mov esi, eax
call fcn.0046a692
push 8
call fcn.0046a34c
add esp, 0x18
cmp eax, ebx
je 0x41795b
push esi
mov ecx, eax
call fcn.00433e50
jmp 0x41795d
xor eax, eax
mov ecx, dword [esp + 0x10]
push ebp
push 1
mov dword [ecx], eax
push esi
mov ecx, eax
call fcn.00433ec0
push eax
call fcn.0046a677
add esp, 0x10
cmp eax, 1
jne 0x4178ec
push ebp
call fcn.00469fff
add esp, 4
mov eax, 1
jmp 0x4178fa
lea edx, [esp + 0x3c]
push edx
push eax
push ebp
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xbc], bl
call fcn.004296c0
mov ecx, dword [esp + 0x1c]
add esp, 0xc
cmp eax, ebx
mov dword [ecx], eax
je 0x4178ec
cmp byte [esp + 0xb0], bl
je 0x417980
mov ecx, esi
call fcn.00421a10
mov edi, eax
cmp edi, ebx
je 0x4178ec
mov ecx, esi
call fcn.00421a30
push eax
push ebx
lea edx, [esp + 0xec]
push 0x50
push edx
call edi
add esp, 0x10
mov esi, eax
mov eax, dword [esp + 0xac]
push eax
lea ecx, [esp + 0x90]
push ecx
lea ecx, [esp + 0x20]
call fcn.00417620
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x30]
call fcn.004177e0
mov eax, dword [esp + 0x18]
cmp eax, 0x20
jbe 0x417a27
mov eax, 0x20
push eax
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x94]
push ecx
call fcn.00466080
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xd4]
push eax
push 1
push esi
lea ecx, [esp + 0x100]
push ecx
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x60]
push 0x4c2458
push eax
call fcn.00416700
push 7
lea ecx, [esp + 0x6c]
push str.DES_CBC
push ecx
mov dword [esp + 0x4c], ebx
call fcn.00465cf8
add esp, 0x38
test eax, eax
jne 0x417aa6
push 8
call fcn.0046a34c
add esp, 4
cmp eax, ebx
je 0x417b73
mov ecx, eax
call fcn.00428530
jmp 0x417b75
push 0xd
lea edx, [esp + 0x40]
push str.DES_EDE3_CBC
push edx
call fcn.00465cf8
add esp, 0xc
test eax, eax
jne 0x417adc
push 8
call fcn.0046a34c
add esp, 4
cmp eax, ebx
je 0x417b73
mov ecx, eax
call fcn.004285a0
jmp 0x417b75
push 0xd
lea eax, [esp + 0x40]
push str.AES_128_CBC
push eax
call fcn.00465cf8
add esp, 0xc
test eax, eax
jne 0x417b0d
push 8
call fcn.0046a34c
add esp, 4
cmp eax, ebx
je 0x417b73
push 0x10
mov ecx, eax
call fcn.00427570
jmp 0x417b75
push 0xd
lea ecx, [esp + 0x40]
push str.AES_192_CBC
push ecx
call fcn.00465cf8
add esp, 0xc
test eax, eax
jne 0x417b3e
push 8
call fcn.0046a34c
add esp, 4
cmp eax, ebx
je 0x417b73
push 0x18
mov ecx, eax
call fcn.00427570
jmp 0x417b75
push 0xd
lea edx, [esp + 0x40]
push str.AES_256_CBC
push edx
call fcn.00465cf8
add esp, 0xc
test eax, eax
jne 0x417c31
push 8
call fcn.0046a34c
add esp, 4
cmp eax, ebx
je 0x417b73
push 0x20
mov ecx, eax
call fcn.00427570
jmp 0x417b75
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.00417560
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
lea ecx, [esp + 0x8c]
push ecx
lea edx, [esp + 0xc8]
push edx
mov ecx, esi
call eax
push 8
call fcn.0046a34c
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x417bc3
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
call fcn.00433ea0
push eax
mov ecx, edi
call fcn.00433e50
mov edi, eax
jmp 0x417bc5
xor edi, edi
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov ebx, dword [esi]
call fcn.00433ea0
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
call fcn.00433eb0
push eax
mov ecx, edi
call fcn.00433ec0
mov edx, dword [ebx + 4]
push eax
mov ecx, esi
call edx
mov ebx, dword [esp + 0x10]
mov eax, dword [ebx]
push eax
call fcn.004173a0
push 0
mov dword [ebx], edi
call fcn.004173a0
push esi
call fcn.004171e0
add esp, 0xc
lea ecx, [esp + 0x2c]
call fcn.00417680
lea ecx, [esp + 0x18]
call fcn.00417660
push ebp
call fcn.00469fff
add esp, 4
mov eax, 1
jmp 0x4178fa
push ebp
call fcn.00469fff
push ebx
call fcn.004171e0
add esp, 8
lea ecx, [esp + 0x2c]
call fcn.00417680
lea ecx, [esp + 0x18]
call fcn.00417660
jmp 0x4178f5
mov ecx, dword [esp + 0x130]
pop ebx
pop edi
pop esi
xor ecx, esp
mov eax, 0xfffffffc
call fcn.00463f56
add esp, 0x128
ret