Function at 0x438e40
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x128
mov eax, dword [0x6264e4]
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 0x438e91
cmp edi, 0xb
je 0x438e91
pop edi
mov eax, 0xfffffffb
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.0047d9e4
add esp, 0x128
ret
push ebx
xor ebx, ebx
cmp eax, ebx
je 0x4392a3
cmp byte [eax], bl
je 0x4392a3
push ebp
push 0x4e1978
push eax
call fcn.00483a6e
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x438f05
mov eax, dword [esp + 0x148]
cmp eax, 2
jne 0x438f23
push ebx
push ebx
push ebp
call fcn.00449b10
add esp, 0xc
cmp eax, ebx
je 0x438eeb
push eax
mov ecx, esi
call fcn.00445120
push ebx
push ebx
push ebp
call fcn.00449b10
add esp, 0xc
cmp eax, ebx
jne 0x438ed4
push ebp
call fcn.0048397b
add esp, 4
test eax, eax
jne 0x438f98
push ebp
call fcn.004816eb
add esp, 4
mov eax, 0xfffffffc
pop ebp
pop ebx
pop edi
pop esi
mov ecx, dword [esp + 0x124]
xor ecx, esp
call fcn.0047d9e4
add esp, 0x128
ret
cmp eax, ebx
jne 0x438f30
lea ecx, [esi + 4]
mov dword [esp + 0x10], ecx
jmp 0x438f37
lea edx, [esi + 8]
mov dword [esp + 0x10], edx
cmp edi, 0xa
jne 0x438fab
push 2
push ebx
push ebp
call fcn.004838f6
push ebp
call fcn.00483801
push ebp
mov esi, eax
call fcn.004835a4
movzx eax, byte [0x6285f8]
push eax
push 8
call fcn.00452300
add esp, 0x1c
cmp eax, ebx
je 0x438f73
push esi
mov ecx, eax
call fcn.004519d0
jmp 0x438f75
xor eax, eax
mov ecx, dword [esp + 0x10]
push ebp
push 1
mov dword [ecx], eax
push esi
mov ecx, eax
call fcn.00457570
push eax
call fcn.0048165e
add esp, 0x10
cmp eax, 1
jne 0x438efc
push ebp
call fcn.004816eb
add esp, 4
mov eax, 1
jmp 0x438f0a
lea edx, [esp + 0x3c]
push edx
push eax
push ebp
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xbc], bl
call fcn.00449b10
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov dword [ecx], eax
cmp eax, ebx
je 0x438efc
cmp byte [esp + 0xb0], bl
je 0x438f98
mov ecx, esi
call fcn.004432d0
mov edi, eax
cmp edi, ebx
je 0x438efc
mov ecx, esi
call fcn.004432e0
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.00438cc0
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x30]
call fcn.00438df0
mov eax, dword [esp + 0x18]
cmp eax, 0x20
jbe 0x43903f
mov eax, 0x20
push eax
mov eax, dword [esp + 0x20]
push eax
lea ecx, [esp + 0x94]
push ecx
call fcn.0047edd0
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 0x4e1938
push eax
call fcn.00438840
push 7
lea ecx, [esp + 0x6c]
push str.DES_CBC
push ecx
mov dword [esp + 0x4c], ebx
call fcn.00482d8f
add esp, 0x38
test eax, eax
jne 0x4390c6
movzx edx, byte [0x6285f8]
push edx
push 8
call fcn.00452300
add esp, 8
cmp eax, ebx
je 0x4391b7
mov ecx, eax
call fcn.00448c20
jmp 0x4391b9
push 0xd
lea eax, [esp + 0x40]
push str.DES_EDE3_CBC
push eax
call fcn.00482d8f
add esp, 0xc
test eax, eax
jne 0x439104
movzx ecx, byte [0x6285f8]
push ecx
push 8
call fcn.00452300
add esp, 8
cmp eax, ebx
je 0x4391b7
mov ecx, eax
call fcn.00448c70
jmp 0x4391b9
push 0xd
lea edx, [esp + 0x40]
push str.AES_128_CBC
push edx
call fcn.00482d8f
add esp, 0xc
test eax, eax
jne 0x439141
movzx eax, byte [0x6285f8]
push eax
push 8
call fcn.00452300
add esp, 8
cmp eax, ebx
je 0x4391b7
push 0x10
mov ecx, eax
call fcn.00448200
jmp 0x4391b9
push 0xd
lea ecx, [esp + 0x40]
push str.AES_192_CBC
push ecx
call fcn.00482d8f
add esp, 0xc
test eax, eax
jne 0x43917a
movzx edx, byte [0x6285f8]
push edx
push 8
call fcn.00452300
add esp, 8
cmp eax, ebx
je 0x4391b7
push 0x18
mov ecx, eax
call fcn.00448200
jmp 0x4391b9
push 0xd
lea eax, [esp + 0x40]
push str.AES_256_CBC
push eax
call fcn.00482d8f
add esp, 0xc
test eax, eax
jne 0x43927d
movzx ecx, byte [0x6285f8]
push ecx
push 8
call fcn.00452300
add esp, 8
cmp eax, ebx
je 0x4391b7
push 0x20
mov ecx, eax
call fcn.00448200
jmp 0x4391b9
xor eax, eax
push eax
lea ecx, [esp + 0x18]
call fcn.00438c70
mov esi, dword [esp + 0x14]
mov edx, dword [esi]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0xc8]
push ecx
mov ecx, esi
call edx
movzx eax, byte [0x6285f8]
push eax
push 8
call fcn.00452300
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x43920f
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
call fcn.0044f150
push eax
mov ecx, edi
call fcn.004519d0
mov edi, eax
jmp 0x439211
xor edi, edi
mov edx, dword [esp + 0x10]
mov ecx, dword [edx]
mov ebx, dword [esi]
call fcn.0044f150
push eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
call fcn.00457570
push eax
mov ecx, edi
call fcn.00457570
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.00444dd0
push 0
mov dword [ebx], edi
call fcn.00444dd0
push esi
call fcn.00438ab0
add esp, 0xc
lea ecx, [esp + 0x2c]
call fcn.00438d10
lea ecx, [esp + 0x18]
call fcn.00438d10
push ebp
call fcn.004816eb
add esp, 4
mov eax, 1
jmp 0x438f0a
push ebp
call fcn.004816eb
push ebx
call fcn.00438ab0
add esp, 8
lea ecx, [esp + 0x2c]
call fcn.00438d10
lea ecx, [esp + 0x18]
call fcn.00438d10
jmp 0x438f05
mov ecx, dword [esp + 0x130]
pop ebx
pop edi
pop esi
xor ecx, esp
mov eax, 0xfffffffc
call fcn.0047d9e4
add esp, 0x128
ret