Function at 0x45c5a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
push 0
call fcn.00409e20
push 0
call fcn.00409eb0
push 3
mov byte [0x479bcc], 0
call fcn.0044a7f0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 0x14]
push eax
mov eax, dword [0x49ec74]
mov ecx, dword [eax + 0x15]
push edx
push 1
push ecx
call dword [sym.imp.MSVCRT.dll_fread]
mov edx, dword [0x49ec74]
mov esi, dword [edx + 0x15]
mov al, byte [esi]
add esp, 0x1c
test al, al
je 0x45cd17
push ebx
mov ebx, dword [ebp + 0x10]
lea edi, [esi + 2]
movsx eax, al
inc esi
inc edi
dec eax
cmp eax, 0x4b
ja case.0x45c611.39
xor ecx, ecx
mov cl, byte [eax + 0x45cf0c]
jmp dword [ecx*4 + 0x45ce70]
push 4
push esi
push 0x49eb58
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 4
add edi, 4
call fcn.0044f690
jmp case.0x45c611.39
push 4
push esi
push 0x479590
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 4
add edi, 4
call fcn.0044f800
jmp case.0x45c611.39
push 4
push esi
push 0x479594
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 4
add edi, 4
jmp case.0x45c611.39
push 0x10
push esi
push 0x479598
call sub.MSVCRT.dll_memcpy
movsx edx, word [0x479598]
push edx
add esi, 0x10
add edi, 0x10
call fcn.00402ed0
mov ax, word [0x47959a]
mov ecx, dword [0x47959c]
fstp dword [0x4795b0]
mov edx, dword [0x4795a0]
mov word [0x4795b4], ax
mov ax, word [0x4795a4]
mov dword [0x4795b6], ecx
mov cx, word [0x4795a6]
add esp, 0x10
mov dword [0x4795ba], edx
mov word [0x4795be], ax
mov word [0x4795c0], cx
call fcn.0044f910
jmp case.0x45c611.39
push 0x12
push esi
push 0x4795b0
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x12
add edi, 0x12
call fcn.0044f910
jmp case.0x45c611.39
movsx eax, byte [esi]
inc esi
push eax
mov dword [0x49eb58], eax
inc edi
call fcn.00407a00
add esp, 4
mov dword [0x49eb58], eax
call fcn.0044f690
jmp case.0x45c611.39
movsx eax, byte [esi]
inc esi
push eax
mov dword [0x479590], eax
inc edi
call fcn.00407a00
add esp, 4
mov dword [0x479590], eax
call fcn.0044f800
jmp case.0x45c611.39
movsx eax, byte [esi]
inc esi
push eax
mov dword [0x479594], eax
inc edi
call fcn.00407a00
add esp, 4
mov dword [0x479594], eax
jmp case.0x45c611.39
movsx edx, byte [esi]
inc esi
mov dword [0x49eb5c], edx
inc edi
call fcn.0044f690
jmp case.0x45c611.39
movsx eax, byte [esi + 1]
inc esi
inc edi
inc esi
mov dword [0x49eb60], eax
inc edi
call fcn.0044f690
jmp case.0x45c611.39
movsx eax, byte [esi + 1]
inc esi
inc edi
inc esi
push eax
inc edi
call fcn.00409e20
add esp, 4
jmp case.0x45c611.39
movsx eax, byte [esi + 1]
inc esi
inc edi
inc esi
push eax
inc edi
call fcn.00409eb0
add esp, 4
jmp case.0x45c611.39
movsx ecx, byte [esi]
inc esi
mov dword [0x49eb48], ecx
inc edi
call fcn.0044f420
jmp case.0x45c611.39
movsx edx, byte [esi]
inc esi
mov dword [0x49eb50], edx
inc edi
call fcn.0044f240
jmp case.0x45c611.39
movsx eax, byte [esi]
inc esi
mov dword [0x49eb4c], eax
inc edi
call fcn.0044f330
jmp case.0x45c611.39
push 0x10
push esi
push 0x49ea9c
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x10
add edi, 0x10
jmp case.0x45c611.39
movsx eax, byte [esi]
inc esi
mov dword [0x4795b6], eax
movsx ecx, byte [esi]
inc edi
inc esi
push eax
mov dword [0x4795ba], ecx
inc edi
call fcn.00407a00
mov edx, dword [0x4795ba]
push edx
mov dword [0x4795b6], eax
call fcn.00407a00
add esp, 8
mov dword [0x4795ba], eax
jmp case.0x45c611.39
push 4
push esi
push 0x49eb10
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 4
add edi, 4
jmp case.0x45c611.39
test ebx, ebx
je 0x45c87e
push 0x28
push esi
push 0x479648
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x28
add edi, 0x28
test ebx, ebx
je 0x45c898
push 0x28
push esi
push 0x47974c
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x28
add edi, 0x28
test ebx, ebx
je 0x45c8b2
push 0x28
push esi
push 0x479850
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x28
add edi, 0x28
test ebx, ebx
je 0x45c8cc
push 0x28
push esi
push 0x479954
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x28
add edi, 0x28
test ebx, ebx
je 0x45c8e6
push 0x28
push esi
push 0x479a58
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x28
add edi, 0x28
jmp case.0x45c611.39
push 8
push esi
push 0x479588
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 8
add edi, 8
jmp case.0x45c611.39
push 8
push esi
push 0x479580
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 8
add edi, 8
jmp case.0x45c611.39
movsx eax, byte [esi]
inc esi
mov dword [0x4795b6], eax
movsx ecx, byte [esi]
inc edi
inc esi
push eax
mov dword [0x4795ba], ecx
inc edi
call fcn.00407a00
mov edx, dword [0x4795ba]
push edx
mov dword [0x4795b6], eax
call fcn.00407a00
mov dword [0x4795ba], eax
movsx eax, byte [esi]
push eax
call fcn.00402ed0
add esp, 0xc
inc esi
fstp dword [0x4795b0]
movsx cx, byte [esi]
inc edi
inc esi
mov word [0x4795b4], cx
inc edi
call fcn.0044f910
jmp case.0x45c611.39
push 0x22
push esi
push 0x479b5c
call sub.MSVCRT.dll_memcpy
push 0x22
add esi, 0x22
push esi
push 0x479b7e
add edi, 0x22
call sub.MSVCRT.dll_memcpy
push 0x22
add esi, 0x22
push esi
push 0x479ba0
add edi, 0x22
call sub.MSVCRT.dll_memcpy
add esp, 0x24
add esi, 0x22
add edi, 0x22
jmp case.0x45c611.39
movsx dx, byte [esi]
inc esi
mov word [0x4795c0], dx
inc edi
jmp case.0x45c611.39
push 0xc
push esi
push 0x4c6070
call sub.MSVCRT.dll_memcpy
movsx edx, word [0x4c6074]
mov ax, word [0x4c6070]
mov cx, word [0x4c6072]
push edx
add esi, 0xc
add edi, 0xc
mov word [0x479598], ax
mov word [0x47959a], cx
call fcn.00407a00
mov dword [0x47959c], eax
movsx eax, word [0x4c6076]
push eax
call fcn.00407a00
mov cx, word [0x4c6078]
mov dx, word [0x4c607a]
mov dword [0x4795a0], eax
movsx eax, word [0x479598]
push eax
mov word [0x4795a4], cx
mov word [0x4795a6], dx
call fcn.00402ed0
mov cx, word [0x47959a]
mov edx, dword [0x47959c]
fstp dword [0x4795b0]
mov eax, dword [0x4795a0]
mov word [0x4795b4], cx
mov cx, word [0x4795a4]
mov dword [0x4795b6], edx
mov dx, word [0x4795a6]
add esp, 0x18
mov dword [0x4795ba], eax
mov word [0x4795be], cx
mov word [0x4795c0], dx
call fcn.0044f910
jmp case.0x45c611.39
push 4
push esi
push 0x4795a8
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 4
add edi, 4
jmp case.0x45c611.39
push 6
push esi
push 0x4795a8
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 6
add edi, 6
jmp case.0x45c611.39
push 0x14
push esi
push 0x49ee00
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x14
add edi, 0x14
jmp case.0x45c611.39
push 0x14
push esi
push 0x49ee14
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x14
add edi, 0x14
jmp case.0x45c611.39
push 0x14
push esi
push 0x49ee28
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x14
add edi, 0x14
jmp case.0x45c611.39
push 0x14
push esi
push 0x49ee3c
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x14
add edi, 0x14
jmp case.0x45c611.39
push 0x14
push esi
push 0x49edec
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x14
add edi, 0x14
jmp case.0x45c611.39
push 2
push esi
push 0x49ee50
call sub.MSVCRT.dll_memcpy
push 2
push edi
push 0x49ee52
call sub.MSVCRT.dll_memcpy
add esp, 0x18
add esi, 0x14
add edi, 0x14
jmp case.0x45c611.39
push 0xe
push esi
push 0x4c6080
call sub.MSVCRT.dll_memcpy
movsx edx, word [0x4c6086]
mov eax, dword [0x4c6080]
mov cx, word [0x4c6084]
push edx
add esi, 0xe
add edi, 0xe
mov dword [0x4795b0], eax
mov word [0x4795b4], cx
call fcn.00407a00
mov dword [0x4795b6], eax
movsx eax, word [0x4c6088]
push eax
call fcn.00407a00
mov cx, word [0x4c608a]
mov dx, word [0x4c608c]
add esp, 0x14
mov dword [0x4795ba], eax
mov word [0x4795be], cx
mov word [0x4795c0], dx
call fcn.0044f910
jmp case.0x45c611.39
test ebx, ebx
je 0x45cc1a
cmp byte [esi], 0
je 0x45cc15
call fcn.0040d620
inc esi
inc edi
jmp case.0x45c611.39
call fcn.0040d630
inc esi
inc edi
jmp case.0x45c611.39
push 0x14
push esi
push 0x4c6058
call sub.MSVCRT.dll_memcpy
push 0x4c6058
push 0x4c6c40
call sub.MSVCRT.dll_strcpy
add esp, 0x14
add esi, 0x14
add edi, 0x14
jmp case.0x45c611.39
cmp byte [esi], 0
setne al
inc esi
mov byte [0x479bcc], al
inc edi
jmp case.0x45c611.39
test ebx, ebx
je 0x45cc74
push 0x104
push esi
push 0x479648
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x104
add edi, 0x104
test ebx, ebx
je 0x45cc97
push 0x104
push esi
push 0x47974c
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x104
add edi, 0x104
test ebx, ebx
je 0x45ccba
push 0x104
push esi
push 0x479850
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x104
add edi, 0x104
test ebx, ebx
je 0x45ccdd
push 0x104
push esi
push 0x479954
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x104
add edi, 0x104
test ebx, ebx
je 0x45cd00
push 0x104
push esi
push 0x479a58
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add esi, 0x104
add edi, 0x104
mov al, byte [esi]
test al, al
jne 0x45c5fa
pop ebx
mov esi, dword [ebp + 0x14]
test esi, esi
jle 0x45cdbf
mov edi, dword [ebp + 0x18]
push edi
push esi
push 0x479b7e
push 0x479850
call fcn.004605d0
push edi
push esi
push 0x479ba0
push 0x479850
call fcn.004605d0
push edi
push esi
push 0x49edec
push 0x479850
call fcn.004605d0
push edi
push esi
push 0x49ee14
push 0x479850
call fcn.004605d0
add esp, 0x40
push edi
push esi
push 0x49ee28
push 0x479850
call fcn.004605d0
push edi
push esi
push 0x49ee3c
push 0x479850
call fcn.004605d0
push edi
push esi
push 0x49ee00
push 0x479a58
call fcn.004605d0
mov al, byte [0x479bcc]
add esp, 0x30
test al, al
je 0x45cdbf
push edi
push esi
push 0x4c6058
push 0x479648
call fcn.004605d0
add esp, 0x10
push 0x49ee00
push 0x4c8b20
push 0x49ee00
push 0x4c8020
call fcn.00412a80
push 0x4c6058
push 0x4c88e0
push 0x4c6058
push 0x479648
call fcn.00412a80
push 0x49edec
push 0x4c8a00
push 0x49edec
push 0x479850
call fcn.00412a80
push 0x49ee14
push 0x4c8a00
push 0x49ee14
push 0x479850
call fcn.00412a80
add esp, 0x40
push 0x49ee28
push 0x4c8a00
push 0x49ee28
push 0x479850
call fcn.00412a80
push 0x49ee3c
push 0x4c8a00
push 0x49ee3c
push 0x479850
call fcn.00412a80
push 0x4c6058
push 0x4c6c40
call sub.MSVCRT.dll_strcpy
add esp, 0x28
pop edi
xor eax, eax
pop esi
pop ebp
ret