Function at 0x4861d0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6418aa
mov eax, dword fs:[0]
push eax
sub esp, 0x700
mov eax, dword [0x6bc858]
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 eax, dword [ebp + 8]
mov dword [ebp - 0x6e4], eax
xor ebx, ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x53c], ebx
push 8
mov byte [ebp - 4], 1
call fcn.005f0fe0
add esp, 4
cmp eax, ebx
je 0x486b40
mov dword [ebp - 0x53c], eax
mov dword [eax + 4], ebx
xor ecx, ecx
mov dword [eax], ecx
mov edx, dword [ebp - 0x53c]
lea ecx, [ebp - 0x53c]
mov dword [edx], ecx
mov dword [ebp - 0x524], 0xf
mov dword [ebp - 0x528], ebx
mov byte [ebp - 0x538], bl
mov esi, ecx
mov byte [ebp - 4], 2
call fcn.004c4b60
push 0x16
push str.templateTemplateFile_
mov ecx, esi
call fcn.00412ae0
push 0xffffffffffffffff
push ebx
lea eax, [ebp + 0xc]
push eax
mov ecx, esi
call fcn.004129f0
lea ecx, [ebp - 0x69c]
push ecx
call fcn.0047a820
push 0x206
lea eax, [ebp - 0x31a]
xor edx, edx
push ebx
mov byte [ebp - 4], 3
push eax
mov word [ebp - 0x31c], dx
call fcn.005ff630
push 0xff
lea ecx, [ebp - 0x113]
push ebx
push ecx
mov byte [ebp - 0x114], bl
call fcn.005ff630
mov eax, dword [ebp - 0x538]
add esp, 0x18
cmp dword [ebp - 0x524], 0x10
jae 0x4862db
lea eax, [ebp - 0x538]
push 0x6764a0
push eax
call fcn.005f5530
mov edi, eax
add esp, 8
mov dword [ebp - 0x6d0], edi
cmp edi, ebx
je 0x48699a
push edi
push 0x2c
lea edx, [ebp - 0x6c8]
push 1
push edx
call fcn.005f5d00
mov eax, dword [ebp - 0x6a4]
mov dword [ebp - 0x65c], eax
lea eax, [ebp - 0x6b8]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x486322
sub eax, edx
push eax
lea ecx, [ebp - 0x6b8]
push ecx
lea ecx, [ebp - 0x67c]
call fcn.00412c10
lea eax, [ebp - 0x6c8]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x486347
sub eax, edx
push eax
lea edx, [ebp - 0x6c8]
push edx
lea ecx, [ebp - 0x69c]
call fcn.00412c10
mov dword [ebp - 0x6e8], ebx
cmp dword [ebp - 0x6a8], ebx
jle 0x486463
push edi
push 0xc
lea eax, [ebp - 0x58c]
push 1
push eax
call fcn.005f5d00
mov eax, dword [ebp - 0x58c]
mov ecx, dword [ebp - 0x588]
mov edx, dword [ebp - 0x584]
add esp, 0x10
lea edi, [ebp - 0x6f8]
lea esi, [ebp - 0x6e0]
lea ebx, [ebp - 0x658]
mov dword [ebp - 0x6f8], eax
mov dword [ebp - 0x6f4], eax
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 0x6ec], edx
call fcn.0048d130
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x6e0]
test eax, eax
je 0x486433
cmp dword [eax + 4], 0
lea esi, [eax + 4]
je 0x48640a
mov edi, edi
mov eax, dword [esi]
lea ecx, [ebp - 0x6e0]
cmp eax, ecx
je 0x486405
cmp dword [eax + 4], 0
lea esi, [eax + 4]
jne 0x4863f0
cmp dword [esi], 0
jne 0x486421
push 0xb5
push 0x676220
push str.ITERATOR_LIST_CORRUPTED_
call fcn.00563e60
add esp, 0xc
mov edx, dword [ebp - 0x6dc]
mov dword [esi], edx
mov dword [ebp - 0x6e0], 0
lea ecx, [ebp - 0x6cc]
mov byte [ebp - 4], 3
call fcn.00564180
mov eax, dword [ebp - 0x6e8]
mov edi, dword [ebp - 0x6d0]
inc eax
mov dword [ebp - 0x6e8], eax
cmp eax, dword [ebp - 0x6a8]
jl 0x486375
xor ebx, ebx
mov eax, dword [ebp - 0x6a0]
inc eax
push eax
call fcn.00563e10
mov ecx, dword [ebp - 0x6a0]
inc ecx
push ecx
mov esi, eax
push ebx
push esi
call fcn.005ff630
mov edx, dword [ebp - 0x6a0]
push edi
push edx
push 1
push esi
call fcn.005f5d00
add esp, 0x20
cmp esi, ebx
jne 0x4864af
push 0x3a2
push str.C:Program_Files__x86_Microsoft_Visual_Studio_10.0VCincludexstring
push str.invalid_null_pointer
call fcn.00563e60
add esp, 0xc
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4864b4
sub eax, edx
push eax
push esi
lea ecx, [ebp - 0x644]
call fcn.00412c10
push esi
call fcn.005f0cb0
push edi
call fcn.005f64a0
mov dword [ebp - 0x624], ebx
push 8
mov byte [ebp - 4], 5
call fcn.005f0fe0
add esp, 0xc
cmp eax, ebx
je 0x486b03
mov dword [ebp - 0x624], eax
xor ecx, ecx
xor edx, edx
mov dword [eax], ecx
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x624]
lea eax, [ebp - 0x624]
mov dword [ecx], eax
push 0xffffffffffffffff
mov byte [ebp - 4], 6
push ebx
lea edx, [ebp - 0x69c]
push edx
mov ecx, eax
mov dword [ebp - 0x60c], 0xf
mov dword [ebp - 0x610], ebx
mov byte [ebp - 0x620], bl
call fcn.004126e0
lea eax, [ebp - 0x604]
push eax
lea ecx, [ebp - 0x69c]
mov byte [ebp - 4], 7
call fcn.0048e0b0
mov edi, dword [ebp - 0x6e4]
add edi, 0xdc
lea eax, [ebp - 0x624]
lea esi, [ebp - 0x6e0]
mov byte [ebp - 4], 8
call fcn.0048d150
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x6e0]
cmp eax, ebx
je 0x4865d1
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
je 0x4865ac
mov eax, dword [esi]
lea ecx, [ebp - 0x6e0]
cmp eax, ecx
je 0x4865a8
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x486594
cmp dword [esi], ebx
jne 0x4865c3
push 0xb5
push 0x676220
push str.ITERATOR_LIST_CORRUPTED_
call fcn.00563e60
add esp, 0xc
mov edx, dword [ebp - 0x6dc]
mov dword [esi], edx
mov dword [ebp - 0x6e0], ebx
lea ecx, [ebp - 0x6cc]
mov byte [ebp - 4], 8
call fcn.00564180
lea eax, [ebp - 0x604]
push eax
mov byte [ebp - 4], 0xa
call fcn.0047a990
mov esi, 0x10
cmp dword [ebp - 0x60c], esi
jb 0x48660c
mov ecx, dword [ebp - 0x620]
push ecx
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x60c], 0xf
mov dword [ebp - 0x610], ebx
mov byte [ebp - 0x620], bl
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x624], ebx
je 0x48666c
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov eax, dword [ebp - 0x624]
cmp dword [eax + 4], ebx
je 0x486658
mov edx, dword [eax + 4]
mov dword [edx], ebx
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
cmp edx, ebx
jne 0x486646
mov eax, dword [ebp - 0x624]
lea ecx, [ebp - 0x6cc]
mov dword [eax + 4], ebx
call fcn.00564180
mov ecx, dword [ebp - 0x624]
push ecx
call fcn.005f0cb0
add esp, 4
cmp dword [ebp - 0x664], esi
mov esi, dword [ebp - 0x678]
jae 0x48668f
lea esi, [ebp - 0x678]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp esi, ebx
je 0x4866bf
lea edx, [ebp - 0x51c]
test edx, edx
je 0x4866bf
push ebx
push ebx
push 0xffffffffffffffff
push esi
push ebx
push ebx
call edi
cmp eax, ebx
jle 0x4866bf
push eax
lea eax, [ebp - 0x51c]
push eax
push 0xffffffffffffffff
push esi
push ebx
push ebx
call edi
cmp dword [ebp - 0x524], 0x10
mov eax, dword [ebp - 0x538]
jae 0x4866d4
lea eax, [ebp - 0x538]
push ebx
lea ecx, [ebp - 0x114]
push ecx
push ebx
push ebx
push eax
call fcn.005f9b90
mov dword [ebp - 0x55c], ebx
push 8
mov byte [ebp - 4], 0xc
call fcn.005f0fe0
add esp, 0x18
cmp eax, ebx
je 0x486ad0
mov dword [ebp - 0x55c], eax
mov dword [eax + 4], ebx
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x55c]
lea edx, [ebp - 0x55c]
mov dword [eax], edx
mov dword [ebp - 0x544], 0xf
mov dword [ebp - 0x548], ebx
mov byte [ebp - 0x558], bl
mov esi, edx
mov byte [ebp - 4], 0xd
call fcn.004c4b60
push 0x16
push str.templateTemplateFile_
mov ecx, esi
call fcn.00412ae0
lea eax, [ebp - 0x114]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x486753
sub eax, edx
push eax
lea ecx, [ebp - 0x114]
push ecx
lea ecx, [ebp - 0x55c]
call fcn.00412ae0
push 9
push str.Small.png
lea ecx, [ebp - 0x55c]
call fcn.00412ae0
cmp dword [ebp - 0x544], 0x10
mov esi, dword [ebp - 0x558]
jae 0x486796
lea esi, [ebp - 0x558]
cmp esi, ebx
je 0x4867c0
lea edx, [ebp - 0x31c]
test edx, edx
je 0x4867c0
push ebx
push ebx
push 0xffffffffffffffff
push esi
push ebx
push ebx
call edi
cmp eax, ebx
jle 0x4867c0
push eax
lea eax, [ebp - 0x31c]
push eax
push 0xffffffffffffffff
push esi
push ebx
push ebx
call edi
mov edi, dword [ebp - 0x6e4]
mov ecx, dword [edi + 0x4c]
mov edx, dword [ecx]
mov edx, dword [edx + 8]
lea eax, [ebp - 0x31c]
push eax
call edx
mov ecx, dword [edi + 0x4c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
lea esi, [eax - 1]
lea eax, [ebp - 0x6c8]
push eax
lea ecx, [ebp - 0x580]
call fcn.00412330
mov dword [ebp - 0x560], esi
add edi, 0xc8
lea eax, [ebp - 0x580]
lea esi, [ebp - 0x6e0]
mov byte [ebp - 4], 0xe
call fcn.00450cf0
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x6e0]
cmp eax, ebx
je 0x48687d
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
je 0x486858
lea ebx, [ebx]
mov eax, dword [esi]
lea ecx, [ebp - 0x6e0]
cmp eax, ecx
je 0x486854
cmp dword [eax + 4], ebx
lea esi, [eax + 4]
jne 0x486840
cmp dword [esi], ebx
jne 0x48686f
push 0xb5
push 0x676220
push str.ITERATOR_LIST_CORRUPTED_
call fcn.00563e60
add esp, 0xc
mov edx, dword [ebp - 0x6dc]
mov dword [esi], edx
mov dword [ebp - 0x6e0], ebx
lea ecx, [ebp - 0x6cc]
mov byte [ebp - 4], 0xe
call fcn.00564180
mov edi, 0x10
cmp dword [ebp - 0x568], edi
jb 0x4868a8
mov eax, dword [ebp - 0x57c]
push eax
call fcn.005f0cb0
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x568], esi
mov dword [ebp - 0x56c], ebx
mov byte [ebp - 0x57c], bl
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x580], ebx
je 0x486909
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov eax, dword [ebp - 0x580]
cmp dword [eax + 4], ebx
je 0x4868f5
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
cmp ecx, ebx
jne 0x4868e3
mov edx, dword [ebp - 0x580]
lea ecx, [ebp - 0x6cc]
mov dword [edx + 4], ebx
call fcn.00564180
mov eax, dword [ebp - 0x580]
push eax
call fcn.005f0cb0
add esp, 4
cmp dword [ebp - 0x544], edi
jb 0x48692f
mov ecx, dword [ebp - 0x558]
push ecx
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x544], esi
mov dword [ebp - 0x548], ebx
mov byte [ebp - 0x558], bl
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x55c], ebx
je 0x48698b
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov eax, dword [ebp - 0x55c]
cmp dword [eax + 4], ebx
je 0x486977
mov edx, dword [eax + 4]
mov dword [edx], ebx
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
cmp edx, ebx
jne 0x486965
mov eax, dword [ebp - 0x55c]
lea ecx, [ebp - 0x6cc]
mov dword [eax + 4], ebx
call fcn.00564180
mov ecx, dword [ebp - 0x55c]
push ecx
call fcn.005f0cb0
add esp, 4
lea eax, [ebp - 0x69c]
push eax
mov byte [ebp - 4], 2
call fcn.0047a990
mov edi, 0x10
cmp dword [ebp - 0x524], edi
jb 0x4869c6
mov ecx, dword [ebp - 0x538]
push ecx
call fcn.005f0cb0
add esp, 4
mov esi, 0xf
mov dword [ebp - 0x524], esi
mov dword [ebp - 0x528], ebx
mov byte [ebp - 0x538], bl
mov byte [ebp - 4], 0x12
cmp dword [ebp - 0x53c], ebx
je 0x486a27
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov eax, dword [ebp - 0x53c]
cmp dword [eax + 4], ebx
je 0x486a13
mov edx, dword [eax + 4]
mov dword [edx], ebx
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
cmp edx, ebx
jne 0x486a01
mov eax, dword [ebp - 0x53c]
lea ecx, [ebp - 0x6cc]
mov dword [eax + 4], ebx
call fcn.00564180
mov ecx, dword [ebp - 0x53c]
push ecx
call fcn.005f0cb0
add esp, 4
mov dword [ebp - 0x53c], ebx
cmp dword [ebp + 0x24], edi
jb 0x486a4d
mov edx, dword [ebp + 0x10]
push edx
call fcn.005f0cb0
add esp, 4
mov dword [ebp + 0x24], esi
mov dword [ebp + 0x20], ebx
mov byte [ebp + 0x10], bl
mov dword [ebp - 4], 0x13
cmp dword [ebp + 0xc], ebx
je 0x486a9a
push 3
lea ecx, [ebp - 0x6cc]
call fcn.00564140
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], ebx
je 0x486a89
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
cmp ecx, ebx
jne 0x486a77
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x6cc]
mov dword [edx + 4], ebx
call fcn.00564180
mov eax, dword [ebp + 0xc]
push eax
call fcn.005f0cb0
add esp, 4
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.005f0da0
mov esp, ebp
pop ebp
ret 0x24
lea edx, [ebp - 0x6cc]
push edx
lea ecx, [ebp - 0x6f4]
mov dword [ebp - 0x6cc], ebx
call fcn.005f41f0
push 0x6a361c
lea eax, [ebp - 0x6f4]
push eax
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.006009e0
lea ecx, [ebp - 0x6d0]
push ecx
lea ecx, [ebp - 0x6f4]
mov dword [ebp - 0x6d0], ebx
call fcn.005f41f0
push 0x6a361c
lea edx, [ebp - 0x6f4]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.006009e0
jmp 0x486b40
lea ecx, [ebp - 0x6fc]
push ecx
lea ecx, [ebp - 0x708]
mov dword [ebp - 0x6fc], ebx
call fcn.005f41f0
push 0x6a361c
lea edx, [ebp - 0x708]
push edx
mov dword [ebp - method.std::bad_alloc.virtual_0], vtable.std::bad_alloc.0
call fcn.006009e0
int3