Function at 0x42cf10
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b89c5
mov eax, dword fs:[0]
push eax
sub esp, 0x190
mov eax, dword [0x4e54c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x44]
call fcn.0042faa0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 8
cmovae eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x42cf71
xor bl, bl
jmp 0x42d377
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x74], 0
lea edx, [ebp - 0x74]
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.004157e0
test al, al
jne 0x42cfbf
cmp dword [ebp - 0x30], 8
lea esi, [ebp - 0x44]
cmovae esi, dword [ebp - 0x44]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push 0x4d32b8
push 2
call fcn.00427e30
add esp, 0x10
xor bl, bl
jmp 0x42d354
lea ecx, [ebp - 0x134]
call fcn.0043b3a0
and dword [ebp - 0x17c], 0xfffffe00
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x10c]
call fcn.004024b0
cmp dword [ebp - 0xf8], 0x10
lea ecx, [ebp - 0x10c]
mov eax, dword [ebp - 0xfc]
lea edx, [ebp - 0x184]
cmovae ecx, dword [ebp - 0x10c]
push ecx
add eax, ecx
push edx
push eax
push ecx
lea ecx, [ebp - 0x134]
call fcn.0043b510
test al, al
jne 0x42d060
cmp dword [ebp - 0x30], 8
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
push eax
push str.parse_jason_error:__s
push 2
call fcn.00427e30
add esp, 0xc
xor bl, bl
jmp 0x42d33a
lea eax, [ebp - 0x158]
push eax
lea ecx, [ebp - 0x184]
call fcn.00424bf0
mov byte [ebp - 4], 5
mov ebx, dword [ebp - 0x158]
mov edi, ebx
mov esi, dword [ebp - 0x154]
cmp ebx, esi
je 0x42d324
lea esp, [esp]
push 0xffffffffffffffff
push 0
push edi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.004024b0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
lea edx, [ebp - 0x18c]
lea ecx, [ebp - 0x8c]
cmovae eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x188], eax
call fcn.004142a0
mov byte [ebp - 4], 7
lea eax, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0x10
push ecx
cmovae eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x184]
push eax
call fcn.004249b0
mov ebx, eax
cmp byte [ebx + 8], 6
jne 0x42d3a8
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov byte [ebp - 4], 8
xor esi, esi
lea ebx, [ebx]
movsx eax, byte [ebx + 8]
cmp eax, 7
ja case.0x42d139.0
jmp dword [eax*4 + 0x42d48c]
mov eax, dword [ebx]
cmp dword [eax + 4], 0
je case.0x42d139.0
mov eax, dword [eax]
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x138], eax
call fcn.00416d70
mov eax, dword [ebp - 0x138]
mov eax, dword [eax + 0x14]
inc eax
jmp 0x42d170
mov eax, dword [ebx]
mov eax, dword [eax + 4]
jmp 0x42d170
xor eax, eax
cmp esi, eax
jae 0x42d219
test esi, esi
js 0x42d452
push esi
mov ecx, ebx
call fcn.00424930
lea ecx, [ebp - 0xbc]
push ecx
mov ecx, eax
call fcn.004241b0
mov byte [ebp - 4], 9
cmp dword [eax + 0x14], 0x10
jb 0x42d1a4
mov ecx, dword [eax]
jmp 0x42d1a6
mov ecx, eax
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x16c], ecx
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x168], eax
call fcn.004142a0
push eax
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 0xa
call fcn.0040b470
cmp dword [ebp - 0x48], 8
jb 0x42d1e4
push dword [ebp - 0x5c]
call fcn.0048fa72
add esp, 4
xor eax, eax
mov byte [ebp - 4], 8
cmp dword [ebp - 0xa8], 0x10
mov dword [ebp - 0x48], 7
mov dword [ebp - 0x4c], 0
mov word [ebp - 0x5c], ax
jb 0x42d213
push dword [ebp - 0xbc]
call fcn.0048fa72
add esp, 4
inc esi
jmp 0x42d130
mov ebx, dword [ebp - 0x148]
lea eax, [ebp - 0x8c]
add ebx, 8
push eax
mov ecx, ebx
call fcn.0042d9d0
mov esi, eax
cmp esi, dword [ebx]
je 0x42d25a
cmp dword [esi + 0x24], 8
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x42d244
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x7c]
lea ecx, [ebp - 0x8c]
push 0
call fcn.0040b860
test eax, eax
jns 0x42d290
lea eax, [ebp - 0x8c]
push ecx
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x138]
push eax
push ecx
mov ecx, ebx
call fcn.0042e490
push eax
add eax, 0x10
mov ecx, ebx
push eax
push esi
lea eax, [ebp - 0x15c]
push eax
call fcn.0042e550
mov esi, dword [ebp - 0x15c]
lea eax, [ebp - 0x144]
push eax
lea ecx, [esi + 0x28]
call fcn.0042d670
mov esi, dword [ebp - 0x144]
test esi, esi
je 0x42d2e4
push dword [ebp - 0x14c]
mov edx, dword [ebp - 0x140]
push ecx
mov ecx, esi
call fcn.0040ba90
push esi
call fcn.0048fa72
add esp, 0xc
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
mov esi, dword [ebp - 0x154]
cmp dword [ebp - 0x78], 8
jb 0x42d2fe
push dword [ebp - 0x8c]
call fcn.0048fa72
add esp, 4
mov byte [ebp - 4], 5
cmp dword [ebp - 0x18], 0x10
jb 0x42d313
push dword [ebp - 0x2c]
call fcn.0048fa72
add esp, 4
add edi, 0x18
cmp edi, esi
jne 0x42d090
mov ebx, dword [ebp - 0x158]
test ebx, ebx
je 0x42d338
push esi
push ebx
call fcn.00413c50
push ebx
call fcn.0048fa72
add esp, 4
mov bl, 1
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 2
call fcn.00424070
lea ecx, [ebp - 0x134]
call fcn.0042a1a0
cmp dword [ebp - 0x60], 0x10
jb 0x42d365
push dword [ebp - 0x74]
call fcn.0048fa72
add esp, 4
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x74], 0
cmp dword [ebp - 0x30], 8
jb 0x42d388
push dword [ebp - 0x44]
call fcn.0048fa72
add esp, 4
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004906bc
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x5c]
mov ecx, ebx
push eax
call fcn.004241b0
mov byte [ebp - 4], 0xb
cmp dword [eax + 0x14], 0x10
jb 0x42d3c1
mov ecx, dword [eax]
jmp 0x42d3c3
mov ecx, eax
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0x164]
mov dword [ebp - 0x164], ecx
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0x160], eax
call fcn.004142a0
mov byte [ebp - 4], 0xd
cmp dword [ebp - 0x48], 0x10
jb 0x42d3f8
push dword [ebp - 0x5c]
call fcn.0048fa72
add esp, 4
mov ecx, dword [ebp - 0x148]
lea eax, [ebp - 0x8c]
push eax
mov dword [ebp - 0x48], 0xf
mov dword [ebp - 0x4c], 0
mov byte [ebp - 0x5c], 0
call fcn.0042d810
lea ecx, [ebp - 0xa4]
cmp eax, ecx
je 0x42d432
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.004033d0
cmp dword [ebp - 0x90], 8
jb 0x42d2ea
push dword [ebp - 0xa4]
call fcn.0048fa72
add esp, 4
jmp 0x42d2ea
lea eax, [ebp - 0x14c]
mov dword [ebp - 0x14c], str.in_Json::Value::operator___int_index__const:_index_cannot_be_negative
push eax
lea ecx, [ebp - 0x198]
call fcn.00492031
push 0x4e257c
lea eax, [ebp - 0x198]
mov dword [ebp - method.std::runtime_error.virtual_0], vtable.std::runtime_error.0
push eax
call fcn.0049aa1a
lea ecx, [ecx]
outsb dx, byte [esi]
rol dword [edx], 1
outsb dx, byte [esi]
rol dword [edx], 1
outsb dx, byte [esi]
rol dword [edx], 1
outsb dx, byte [esi]
rol dword [edx], 1
outsb dx, byte [esi]
rol dword [edx], 1
outsb dx, byte [esi]
rol dword [edx], 1
inc eax
rol dword [edx], 1
rol dword [bp + si], 1
int3