Function at 0x403a50
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov eax, dword [0x43d040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x134], edx
mov esi, ecx
mov dword [ebp - 0x130], eax
push edi
cmp byte [0x49ceb0], bl
je 0x403b78
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x403a8f
mov eax, dword [esi]
push eax
call fcn.00408e30
push eax
push str._s_Data__s
lea eax, [ebp - 0x110]
push 0x104
push eax
call fcn.00403050
add esp, 0x14
lea eax, [ebp - 0x110]
push 0x438050
push eax
call fcn.00410447
mov edi, eax
add esp, 8
mov dword [ebp - 0x114], edi
test edi, edi
jne 0x403aec
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x403ad9
mov eax, dword [esi]
push eax
push str.LoadJson:__s_failed_to_load_from_file__file__NULL___loading_from_filesystem_n
call fcn.004016a0
add esp, 8
jmp 0x403b78
push 2
push 0
push edi
call fcn.004161ed
add esp, 0xc
push edi
call fcn.00415b19
add esp, 4
mov edi, eax
push dword [ebp - 0x114]
call fcn.0041643a
add esp, 4
test edi, edi
je 0x403b55
push edi
call fcn.00417627
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x403b43
mov esi, dword [ebp - 0x114]
push esi
push edi
push 1
push ebx
call fcn.00417266
push esi
call fcn.004107e6
add esp, 0x14
jmp 0x403c5e
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x403b4d
mov eax, dword [esi]
push eax
push str.LoadJson:__s_failed_to_load_from_file__malloc_failed___loading_from_filesystem_n
jmp 0x403b65
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x403b5f
mov eax, dword [esi]
push eax
push str.LoadJson:__s_failed_to_load_from_file__size___0___loading_from_filesystem_n
call fcn.004016a0
push dword [ebp - 0x114]
call fcn.004107e6
add esp, 0xc
cmp dword [esi + 0x14], 0xf
mov edx, esi
jbe 0x403b82
mov edx, dword [esi]
mov ecx, dword [0x49cfdc]
push 0
push 0x435d60
push edx
mov eax, dword [ecx]
call dword [eax + 0x30]
mov edx, eax
mov dword [ebp - 0x114], edx
test edx, edx
jne 0x403bbc
cmp dword [esi + 0x14], 0xf
jbe 0x403ba9
mov esi, dword [esi]
push esi
push str.LoadJson:__s_failed_to_load_from_filesystem__fh__NULL___loading_hardcoded_values_n
call fcn.004016a0
add esp, 8
jmp 0x403c55
mov ecx, dword [0x49cfdc]
push edx
mov eax, dword [ecx]
call dword [eax + 0x44]
mov edi, eax
test edi, edi
je 0x403c29
push edi
call fcn.00417627
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x403bff
mov ecx, dword [0x49cfdc]
mov esi, dword [ebp - 0x114]
push esi
push edi
mov edx, dword [ecx]
push ebx
call dword [edx + 0x5c]
mov ecx, dword [0x49cfdc]
push esi
mov eax, dword [ecx]
call dword [eax + 0x34]
jmp 0x403c5e
cmp dword [esi + 0x14], 0xf
jbe 0x403c07
mov esi, dword [esi]
push esi
push str.LoadJson:__s_failed_to_load_from_filesystem__malloc_failed___loading_hardcoded_values_n
call fcn.004016a0
mov ecx, dword [0x49cfdc]
add esp, 8
mov esi, dword [ebp - 0x114]
mov eax, dword [ecx]
push esi
call dword [eax + 0x34]
jmp 0x403c55
cmp dword [esi + 0x14], 0xf
jbe 0x403c31
mov esi, dword [esi]
push esi
push str.LoadJson:__s_failed_to_load_from_filesystem__size___0___loading_hardcoded_values_n
call fcn.004016a0
mov ecx, dword [0x49cfdc]
add esp, 8
mov esi, dword [ebp - 0x114]
mov eax, dword [ecx]
push esi
call dword [eax + 0x34]
test ebx, ebx
jne 0x403c5e
mov ebx, dword [ebp - 0x130]
mov edi, dword [ebp + 0xc]
lea eax, [edi + ebx]
xorps xmm0, xmm0
movups xmmword [ebp - 0x12c], xmm0
cmp ebx, eax
jne 0x403c90
mov esi, 0xf
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], esi
mov byte [ebp - 0x12c], 0
jmp 0x403d65
cmp edi, 0x7fffffff
ja 0x403e0a
cmp edi, 0xf
ja 0x403cd2
push edi
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x11c], edi
push ebx
push eax
mov dword [ebp - 0x118], 0xf
call fcn.0040fdd0
mov byte [ebp + edi - 0x12c], 0
mov esi, dword [ebp - 0x118]
jmp 0x403d62
mov esi, edi
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x403d0a
mov ecx, 0x80000000
mov esi, 0x7fffffff
add ecx, 0x23
push ecx
call fcn.0040d087
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x403e14
lea eax, [ecx + 0x23]
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x403d38
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
test eax, eax
je 0x403d38
cmp eax, 0x1000
jb 0x403d2f
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x403e0f
jmp 0x403cec
push eax
call fcn.0040d087
add esp, 4
push edi
push ebx
push eax
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], esi
call fcn.0040fdd0
mov eax, dword [ebp - 0x114]
mov byte [eax + edi], 0
add esp, 0xc
mov ebx, dword [ebp - 0x134]
lea eax, [ebp - 0x12c]
cmp ebx, eax
je 0x403dc7
mov ecx, dword [ebx + 0x14]
cmp ecx, 0xf
jbe 0x403da4
mov eax, dword [ebx]
inc ecx
cmp ecx, 0x1000
jb 0x403d9a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403e14
mov eax, edx
push ecx
push eax
call fcn.0040d0b7
add esp, 8
movups xmm0, xmmword [ebp - 0x12c]
mov esi, 0xf
mov byte [ebp - 0x12c], 0
movups xmmword [ebx], xmm0
movq xmm0, qword [ebp - 0x11c]
movq qword [ebx + 0x10], xmm0
cmp esi, 0xf
jbe 0x403df7
mov ecx, dword [ebp - 0x12c]
inc esi
mov eax, ecx
cmp esi, 0x1000
jb 0x403ded
mov ecx, dword [eax - 4]
add esi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x403e14
push esi
push ecx
call fcn.0040d0b7
add esp, 8
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040cbf7
mov esp, ebp
pop ebp
ret
call fcn.004031c0
call fcn.00403120
call fcn.004175d6
int3