Function at 0x42ffb0
Capabilities:
Check if file exists
Copy file
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b8f6d
mov eax, dword fs:[0]
push eax
sub esp, 0x194
mov eax, dword [0x4e54c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x138], esi
lea ecx, [ebp - 0x28]
call fcn.0042f520
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 8
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x430077
lea ecx, [ebp - 0x58]
call fcn.0042faa0
mov esi, eax
mov ecx, esi
mov byte [ebp - 4], 1
call fcn.0040ac50
test al, al
jne 0x430060
lea ecx, [ebp - 0x28]
call fcn.0040ac50
test al, al
jne 0x430060
cmp dword [esi + 0x10], 0x104
jae 0x430060
cmp dword [ebp - 0x18], 0x104
jae 0x430060
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
cmp dword [esi + 0x14], 8
jb 0x430056
mov esi, dword [esi]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
cmp dword [ebp - 0x44], 8
jb 0x430071
push dword [ebp - 0x58]
call fcn.0048fa72
add esp, 4
mov esi, dword [ebp - 0x138]
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
lea edx, [ebp - 0x88]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
call fcn.004157e0
test al, al
jne 0x4300cb
cmp dword [ebp - 0x14], 8
lea esi, [ebp - 0x28]
cmovae esi, dword [ebp - 0x28]
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 0x430613
lea ecx, [ebp - 0x130]
call fcn.0043b3a0
and dword [ebp - 0x178], 0xfffffe00
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x108]
call fcn.004024b0
cmp dword [ebp - 0xf4], 0x10
lea ecx, [ebp - 0x108]
mov eax, dword [ebp - 0xf8]
lea edx, [ebp - 0x180]
cmovae ecx, dword [ebp - 0x108]
push ecx
add eax, ecx
push edx
push eax
push ecx
lea ecx, [ebp - 0x130]
call fcn.0043b510
test al, al
jne 0x43016f
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
push str.parse_jason_error:__s
push 2
call fcn.00427e30
add esp, 0xc
xor bl, bl
jmp 0x4305f9
lea eax, [ebp - 0x160]
push eax
lea ecx, [ebp - 0x180]
call fcn.00424bf0
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x160]
mov edi, eax
mov ebx, dword [ebp - 0x15c]
mov dword [ebp - 0x154], edi
cmp eax, ebx
je 0x4305b1
push 0xffffffffffffffff
push 0
push edi
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x2c], 0xf
mov dword [ebp - 0x30], 0
mov byte [ebp - 0x40], 0
call fcn.004024b0
mov byte [ebp - 4], 7
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
lea edx, [ebp - 0x190]
lea ecx, [ebp - 0x70]
cmovae eax, dword [ebp - 0x40]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18c], eax
call fcn.004142a0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 0x10
push ecx
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x180]
push eax
call fcn.004249b0
mov ecx, eax
mov dword [ebp - 0x13c], ecx
cmp byte [ecx + 8], 6
jne 0x43066b
xor edx, edx
xor ebx, ebx
mov dword [ebp - 0x14c], edx
mov dword [ebp - 0x148], ebx
mov dword [ebp - 0x144], edx
mov byte [ebp - 4], 9
xor esi, esi
movsx eax, byte [ecx + 8]
mov dword [ebp - 0x134], esi
cmp eax, 7
ja case.0x430245.0
jmp dword [eax*4 + 0x430734]
mov eax, dword [ecx]
cmp dword [eax + 4], 0
je case.0x430245.0
mov eax, dword [eax]
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x140], eax
call fcn.00416d70
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [eax + 0x14]
inc eax
jmp 0x430282
mov eax, dword [ecx]
mov eax, dword [eax + 4]
jmp 0x430282
xor eax, eax
cmp esi, eax
jae 0x4303a8
test esi, esi
js 0x4306fa
push esi
call fcn.00424930
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, eax
call fcn.004241b0
mov byte [ebp - 4], 0xa
cmp dword [eax + 0x14], 0x10
jb 0x4302b4
mov ecx, dword [eax]
jmp 0x4302b6
mov ecx, eax
mov eax, dword [eax + 0x10]
lea edx, [ebp - 0x188]
mov dword [ebp - 0x188], ecx
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x184], eax
call fcn.004142a0
mov esi, eax
mov byte [ebp - 4], 0xb
cmp esi, ebx
jae 0x430327
mov eax, dword [ebp - 0x14c]
cmp eax, esi
ja 0x430327
sub esi, eax
mov eax, 0x2aaaaaab
imul esi
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp ebx, dword [ebp - 0x144]
jne 0x430314
push ecx
lea ecx, [ebp - 0x14c]
call fcn.0040b950
mov ebx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x14c]
lea eax, [esi + esi*2]
lea eax, [edx + eax*8]
test ebx, ebx
je 0x43034d
push eax
jmp 0x430346
cmp ebx, dword [ebp - 0x144]
jne 0x430341
push ecx
lea ecx, [ebp - 0x14c]
call fcn.0040b950
mov ebx, dword [ebp - 0x148]
test ebx, ebx
je 0x43034d
push esi
mov ecx, ebx
call fcn.0040af90
add ebx, 0x18
cmp dword [ebp - 0x44], 8
mov dword [ebp - 0x148], ebx
jb 0x430367
push dword [ebp - 0x58]
call fcn.0048fa72
add esp, 4
xor eax, eax
mov byte [ebp - 4], 9
cmp dword [ebp - 0xa4], 0x10
mov dword [ebp - 0x44], 7
mov dword [ebp - 0x48], 0
mov word [ebp - 0x58], ax
jb 0x430396
push dword [ebp - 0xb8]
call fcn.0048fa72
add esp, 4
mov esi, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x13c]
inc esi
jmp 0x430236
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + 0x20]
mov esi, eax
mov dword [ebp - 0x150], eax
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x43048c
mov ebx, dword [ebp - 0x60]
mov edi, ecx
jmp 0x4303d0
cmp dword [ebp - 0x5c], 8
lea ecx, [ebp - 0x70]
lea edx, [edi + 0x10]
cmovae ecx, dword [ebp - 0x70]
cmp dword [edx + 0x14], 8
mov dword [ebp - 0x134], ecx
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x140], ecx
jb 0x4303f5
mov edx, dword [edx]
cmp dword [ebp - 0x140], ebx
mov ecx, ebx
cmovb ecx, dword [ebp - 0x140]
mov dword [ebp - 0x13c], ecx
test ecx, ecx
jne 0x430423
xor ecx, ecx
test ecx, ecx
jne 0x430466
mov edx, dword [ebp - 0x140]
cmp edx, ebx
jae 0x43045d
or ecx, 0xffffffff
jmp 0x430464
mov eax, dword [ebp - 0x134]
mov cx, word [edx]
cmp cx, word [eax]
mov eax, dword [ebp - 0x150]
jne 0x430449
add dword [ebp - 0x134], 2
add edx, 2
dec dword [ebp - 0x13c]
jmp 0x43040c
movzx ecx, word [edx]
mov edx, dword [ebp - 0x134]
cmp cx, word [edx]
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jmp 0x430410
xor ecx, ecx
cmp edx, ebx
setne cl
test ecx, ecx
sets cl
test cl, cl
je 0x430472
mov edi, dword [edi + 8]
jmp 0x430476
mov esi, edi
mov edi, dword [edi]
cmp byte [edi + 0xd], 0
je 0x4303d0
mov edi, dword [ebp - 0x154]
mov ebx, dword [ebp - 0x148]
cmp esi, eax
je 0x4304b1
cmp dword [esi + 0x24], 8
lea eax, [esi + 0x10]
mov ecx, dword [eax + 0x10]
jb 0x43049e
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x70]
push 0
call fcn.0040b860
test eax, eax
jns 0x4304f2
lea eax, [ebp - 0x70]
push ecx
mov dword [ebp - 0x150], eax
lea eax, [ebp - 0x150]
push eax
push ecx
mov ecx, dword [ebp - 0x138]
lea ecx, [ecx + 0x20]
call fcn.0042e490
mov ecx, dword [ebp - 0x138]
push eax
add eax, 0x10
push eax
push esi
lea eax, [ebp - 0x168]
push eax
lea ecx, [ecx + 0x20]
call fcn.0042e550
mov esi, dword [ebp - 0x168]
lea eax, [ebp - 0x14c]
lea ecx, [esi + 0x28]
push eax
call fcn.0042d670
mov eax, dword [ebp - 0x14c]
test eax, eax
je 0x430568
mov esi, eax
cmp eax, ebx
je 0x430541
cmp dword [esi + 0x14], 8
jb 0x430521
push dword [esi]
call fcn.0048fa72
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, ebx
jne 0x430511
mov eax, dword [ebp - 0x14c]
push eax
call fcn.0048fa72
add esp, 4
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0
mov esi, dword [ebp - 0x138]
mov ebx, dword [ebp - 0x15c]
cmp dword [ebp - 0x5c], 8
jb 0x430585
push dword [ebp - 0x70]
call fcn.0048fa72
add esp, 4
mov byte [ebp - 4], 6
cmp dword [ebp - 0x2c], 0x10
jb 0x43059a
push dword [ebp - 0x40]
call fcn.0048fa72
add esp, 4
add edi, 0x18
mov dword [ebp - 0x154], edi
cmp edi, ebx
jne 0x4301a1
mov eax, dword [ebp - 0x160]
test eax, eax
je 0x4305f7
mov esi, eax
cmp eax, ebx
je 0x4305ee
jmp 0x4305c0
cmp dword [esi + 0x14], 0x10
jb 0x4305d0
push dword [esi]
call fcn.0048fa72
add esp, 4
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0
mov byte [esi], 0
add esi, 0x18
cmp esi, ebx
jne 0x4305c0
mov eax, dword [ebp - 0x160]
push eax
call fcn.0048fa72
add esp, 4
mov bl, 1
lea ecx, [ebp - 0x180]
mov byte [ebp - 4], 3
call fcn.00424070
lea ecx, [ebp - 0x130]
call fcn.0042a1a0
cmp dword [ebp - 0x74], 0x10
jb 0x430627
push dword [ebp - 0x88]
call fcn.0048fa72
add esp, 4
cmp dword [ebp - 0x14], 8
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x88], 0
jb 0x43064d
push dword [ebp - 0x28]
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 - 0x10]
xor ecx, ebp
call fcn.004906bc
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x58]
push eax
call fcn.004241b0
lea edx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0xa0]
call fcn.0042fe20
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [esi + 0x18]
call fcn.0042d810
lea ecx, [ebp - 0xa0]
cmp eax, ecx
je 0x4306ac
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.004033d0
cmp dword [ebp - 0x8c], 8
jb 0x4306c3
push dword [ebp - 0xa0]
call fcn.0048fa72
add esp, 4
xor eax, eax
mov dword [ebp - 0x8c], 7
cmp dword [ebp - 0x44], 0x10
mov dword [ebp - 0x90], 0
mov word [ebp - 0xa0], ax
jb 0x430574
push dword [ebp - 0x58]
call fcn.0048fa72
add esp, 4
jmp 0x430574
lea eax, [ebp - 0x164]
mov dword [ebp - 0x164], str.in_Json::Value::operator___int_index__const:_index_cannot_be_negative
push eax
lea ecx, [ebp - 0x19c]
call fcn.00492031
push 0x4e257c
lea eax, [ebp - 0x19c]
mov dword [ebp - method.std::runtime_error.virtual_0], vtable.std::runtime_error.0
push eax
call fcn.0049aa1a
lea ecx, [ecx]
add byte [edx], 0x43
add byte [eax - 2147466494], al
add al, byte [ebx]
add byte [edx], 0x43
add byte [eax - 2147466494], al
add al, byte [ebx]
dec esp
add al, byte [ebx]
jns 0x430754
inc ebx
add ah, cl
int3
int3