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

Disassembly:
push 0x308
mov eax, 0x43d2ee
call fcn.00418e8a
mov ebx, ecx
mov dword [ebp - 0x30c], ebx
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x310], ecx
mov dword [ebp - 4], eax
mov dword [ebp - 0x50], eax
lea edx, [ebp - 0x50]
mov byte [ebp - 4], al
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0xc]
mov byte [ebp - 4], 2
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
and dword [ebp - 0x4c], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xa0]
call fcn.0040da33
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x118]
call fcn.0040dc7e
lea ecx, [ebp - 0xa0]
call fcn.00401da8
and dword [ebp - 0x48], 0
lea edx, [ebp - 0x48]
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x50]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
push 0xffffffffffffffff
push dword [ebx + 0x64]
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x118]
call fcn.0040f47e
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x100]
call fcn.0040e442
lea ecx, [ebp - 0xa0]
call fcn.00401f37
xor ecx, ecx
mov dword [ebp - 0x18], ecx
xor eax, eax
lea edi, [ebp - 0x3c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0xf
mov byte [ebp - 0x3c], cl
xor eax, eax
lea edi, [ebp - 0x24]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
push str.Cache_Control:_no_store
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xd
call fcn.00402148
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x410231
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x41023a
push eax
lea ecx, [ebp - 0x24]
call fcn.00401b8a
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xd
call fcn.00401f37
push 0x4461ac
lea ecx, [ebp - 0x6c]
call fcn.00402148
push 0x44941c
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xf
call fcn.00402148
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x10
push eax
lea eax, [ebp - 0xa0]
push eax
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0x88]
call fcn.0040e604
mov esi, eax
lea ecx, [ebx + 0x24]
mov byte [ebp - 4], 0x11
push ecx
lea edx, [ebx + 0xc]
lea ecx, [ebp - 0x308]
call fcn.00402bc9
add esp, 0xc
push esi
push eax
push dword [ebp - 0x310]
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
call fcn.00415393
lea ecx, [ebp - 0x308]
call fcn.00401f37
lea ecx, [ebp - 0x88]
call fcn.00401f37
lea ecx, [ebp - 0xa0]
call fcn.00401f37
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x17
call fcn.00401f37
lea edx, [ebp - 0xb8]
lea ecx, [ebp - 0xa0]
call fcn.0040db72
lea edx, [ebp - 0xb8]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x6c]
call fcn.0040db72
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x88]
call fcn.0040dd8d
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x18
call fcn.00401da8
cmp dword [ebp - 0x74], 7
lea eax, [ebp - 0x88]
cmova eax, dword [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
lea ecx, [ebp - 0x88]
mov esi, eax
call fcn.00401da8
cmp esi, 0xffffffff
je 0x410ad0
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0x88]
call fcn.00402e3e
push str.Content_Type:
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1a
call fcn.00402148
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x88]
cmp dword [ebp - 0x74], 0xf
push dword [ebp - 0x78]
cmova ecx, dword [ebp - 0x88]
push ecx
mov ecx, eax
call fcn.00402db1
push eax
lea ecx, [ebp - 0x308]
call fcn.00401d13
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x4103c5
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x4103ce
push eax
lea ecx, [ebp - 0x24]
call fcn.00401b8a
lea ecx, [ebp - 0x308]
call fcn.00401f37
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1a
call fcn.00401f37
push str.Accept_Ranges:_bytes
lea ecx, [ebp - 0x308]
call fcn.00402148
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x410415
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x41041e
push eax
lea ecx, [ebp - 0x24]
call fcn.00401b8a
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x1a
call fcn.00401f37
cmp dword [ebp - 0xa4], 0xf
lea eax, [ebp - 0xb8]
lea ecx, [ebp - 0x6c]
cmova eax, dword [ebp - 0xb8]
push eax
call fcn.00402148
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1e
call fcn.0040e03c
mov ebx, eax
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x14], ebx
call fcn.00401f37
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x70]
and dword [ebp - 0x70], 0
push eax
push str.Range
mov edx, dword [ecx]
push ecx
call dword [edx + 0x14]
cmp dword [ebp - 0x70], 0
je 0x41094a
and dword [ebp - 0x44], 0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x44]
mov esi, dword [ebp - 0x48]
mov edi, dword [esi]
call fcn.004179dc
push eax
push str.Range
push esi
call dword [edi + 0xc]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x308]
call fcn.0040da33
lea edx, [ebp - 0x308]
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x6c]
call fcn.0040dc7e
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x22
call fcn.00401da8
lea ecx, [ebp - 0x6c]
call fcn.0040e5c1
mov edx, ebx
lea ecx, [ebp - 0x6c]
call fcn.0040e6b3
mov edi, eax
mov esi, edx
mov dword [ebp - 0x2e4], edi
test edi, edi
jne 0x4105b7
test esi, esi
jne 0x4105b7
mov ebx, dword [ebp - 0x28]
push 0x15
pop edi
mov dword [ebp - 0x2f0], 0x1a0
cmp ebx, edi
jb 0x41053a
cmp ebx, 0xf
mov dword [ebp - 0x2c], edi
push edi
lea esi, [ebp - 0x3c]
cmova esi, dword [ebp - 0x3c]
push str.Range_Not_Satisfiable
push esi
call fcn.00419fb0
add esp, 0xc
mov byte [esi + 0x15], 0
jmp 0x41092a
push 0x7fffffff
push ebx
push edi
call fcn.00401f6d
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.004020af
add esp, 0x10
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], esi
mov esi, str.Range_Not_Satisfiable
mov dword [ebp - 0x14], eax
mov edi, eax
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x15], 0
cmp ebx, 0xf
jbe 0x4105af
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x40], eax
cmp ebx, 0x1000
jb 0x4105a3
lea eax, [ebp - 0x2e8]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00401ec9
mov ebx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x40]
pop ecx
pop ecx
push ebx
push eax
call fcn.0041874e
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
jmp 0x41092a
mov ebx, esi
lea eax, [ebp - 0x1b0]
push 0x98
sub ebx, edi
push 0
inc ebx
push eax
mov dword [ebp - 0x2ec], ebx
call fcn.0041a530
pop ecx
pop ecx
lea ecx, [ebp - 0x1b0]
call fcn.00411ee8
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x1b0]
push dword [ebp - 0x14]
mov edx, str.Content_Range:_bytes
push esi
push edi
call fcn.00414719
mov ecx, eax
call fcn.00412654
mov edx, 0x447f60
mov ecx, eax
call fcn.00414719
mov ecx, eax
call fcn.00412654
mov edx, 0x44941c
mov ecx, eax
call fcn.00414719
mov ecx, eax
call fcn.00412654
push 0x98
lea eax, [ebp - 0x2e0]
push 0
push eax
call fcn.0041a530
pop ecx
pop ecx
lea ecx, [ebp - 0x2e0]
call fcn.00411ee8
push ebx
mov edx, str.Content_Length:
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2e0]
call fcn.00414719
mov ecx, eax
call fcn.00412654
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.0041361c
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x410696
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x41069f
push eax
lea ecx, [ebp - 0x24]
call fcn.00401b8a
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x24
call fcn.00401f37
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x2dc]
call fcn.0041361c
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x4106e0
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x4106e9
push eax
lea ecx, [ebp - 0x24]
call fcn.00401b8a
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x24
call fcn.00401f37
mov ebx, dword [ebp - 0x28]
push 0xf
pop eax
mov dword [ebp - 0x2f0], 0xce
cmp ebx, eax
jb 0x41072e
push eax
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
cmova esi, dword [ebp - 0x3c]
push str.Partial_Content
push esi
call fcn.00419fb0
add esp, 0xc
mov byte [esi + 0xf], 0
jmp 0x4107b4
push 0x7fffffff
push ebx
push eax
call fcn.00401f6d
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.004020af
add esp, 0x10
mov dword [ebp - 0x28], esi
mov esi, str.Partial_Content
mov dword [ebp - 0x314], eax
mov edi, eax
push 0xf
pop ecx
mov dword [ebp - 0x2c], ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0xf], 0
cmp ebx, ecx
jbe 0x4107ab
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x2e8], eax
cmp ebx, 0x1000
jb 0x41079c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x2e8]
push eax
call fcn.00401ec9
mov ebx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x2e8]
pop ecx
pop ecx
push ebx
push eax
call fcn.0041874e
mov eax, dword [ebp - 0x314]
pop ecx
pop ecx
mov edi, dword [ebp - 0x2e4]
mov dword [ebp - 0x3c], eax
mov esi, dword [ebp - 0x2ec]
cmp esi, dword [ebp - 0x14]
jne 0x410812
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x308]
call fcn.0040dd8d
mov esi, eax
cmp dword [esi + 0x14], 7
jbe 0x4107da
mov esi, dword [esi]
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x18]
and dword [ebp - 0x18], 0
test ecx, ecx
je 0x4107ef
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea eax, [ebp - 0x18]
push eax
push 0
push 0
push 0
push 0
push esi
call dword [sym.imp.SHLWAPI.dll_SHCreateStreamOnFileEx]
lea ecx, [ebp - 0x308]
call fcn.00401da8
jmp 0x410914
mov ecx, dword [ebp - 0x30c]
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.00410dc7
test eax, eax
jne 0x4108ec
mov ebx, dword [ebp - 0x28]
push 0x15
pop edi
mov dword [ebp - 0x2f0], 0x1f4
cmp ebx, edi
jb 0x41086c
cmp ebx, 0xf
mov dword [ebp - 0x2c], edi
push edi
lea esi, [ebp - 0x3c]
cmova esi, dword [ebp - 0x3c]
push str.Internal_Server_Error
push esi
call fcn.00419fb0
add esp, 0xc
mov byte [esi + 0x15], 0
jmp 0x410914
push 0x7fffffff
push ebx
push edi
call fcn.00401f6d
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.004020af
add esp, 0x10
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], esi
mov esi, str.Internal_Server_Error
mov dword [ebp - 0x2ec], eax
mov edi, eax
push 5
pop ecx
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 0x15], 0
cmp ebx, 0xf
jbe 0x4108e7
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2e4], eax
cmp ebx, 0x1000
jb 0x4108d8
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2e4]
push eax
call fcn.00401ec9
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2e4]
pop ecx
pop ecx
push ebx
push eax
call fcn.0041874e
mov eax, dword [ebp - 0x2ec]
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
jmp 0x410914
push esi
add eax, edi
push eax
call dword [sym.imp.SHLWAPI.dll_SHCreateMemStream]
mov byte [ebp - 4], 0x28
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x41090a
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
test esi, esi
je 0x410914
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x2e0]
call fcn.00410d76
lea ecx, [ebp - 0x1b0]
call fcn.00410d76
lea ecx, [ebp - 0x6c]
call fcn.00401f37
cmp dword [ebp - 0x44], 0
je 0x410abc
push dword [ebp - 0x44]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x410abc
push 0x98
lea eax, [ebp - 0x1b0]
push 0
push eax
call fcn.0041a530
pop ecx
pop ecx
lea ecx, [ebp - 0x1b0]
call fcn.00411ee8
push ebx
mov edx, str.Content_Length:
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x1b0]
call fcn.00414719
mov ecx, eax
call fcn.00412654
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.0041361c
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x4109b2
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x4109bb
push eax
lea ecx, [ebp - 0x24]
call fcn.00401b8a
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x29
call fcn.00401f37
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x6c]
call fcn.0040dd8d
mov esi, eax
mov byte [ebp - 4], 0x2b
xor ebx, ebx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], ebx
test eax, eax
je 0x4109ed
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
cmp dword [esi + 0x14], 7
jbe 0x4109f9
mov esi, dword [esi]
lea eax, [ebp - 0x18]
push eax
push ebx
push ebx
push ebx
push ebx
push esi
call dword [sym.imp.SHLWAPI.dll_SHCreateStreamOnFileEx]
lea ecx, [ebp - 0x6c]
call fcn.00401da8
mov edi, dword [ebp - 0x28]
push 2
pop ecx
mov dword [ebp - 0x2f0], 0xc8
cmp edi, ecx
jb 0x410a3e
cmp edi, 0xf
mov dword [ebp - 0x2c], ecx
lea eax, [ebp - 0x3c]
mov ecx, 0x4b4f
cmova eax, dword [ebp - 0x3c]
mov word [eax], cx
mov byte [eax + 2], bl
jmp 0x410ab1
push 0x7fffffff
push edi
push ecx
call fcn.00401f6d
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.004020af
mov ebx, eax
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x28], esi
mov eax, 0x4b4f
add esp, 0x10
mov word [ebx], ax
mov byte [ebx + 2], 0
cmp edi, 0xf
jbe 0x410aae
mov eax, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x2e4], eax
cmp edi, 0x1000
jb 0x410aa5
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2e4]
push eax
call fcn.00401ec9
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2e4]
pop ecx
pop ecx
push edi
push eax
call fcn.0041874e
pop ecx
pop ecx
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0x1b0]
call fcn.00410d76
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x18
call fcn.00401f37
jmp 0x410bbe
mov esi, str.File_not_found
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410ada
sub ecx, edx
push ecx
push esi
call dword [sym.imp.SHLWAPI.dll_SHCreateMemStream]
mov byte [ebp - 4], 0x2c
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x410aff
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
test esi, esi
je 0x410b09
mov eax, dword [esi]
push esi
call dword [eax + 8]
push 9
mov byte [ebp - 4], 0x18
mov ebx, dword [ebp - 0x28]
pop edi
mov dword [ebp - 0x2f0], 0x194
cmp ebx, edi
jb 0x410b43
cmp ebx, 0xf
mov dword [ebp - 0x2c], edi
push edi
lea esi, [ebp - 0x3c]
cmova esi, dword [ebp - 0x3c]
push str.Not_Found
push esi
call fcn.00419fb0
add esp, 0xc
mov byte [esi + 9], 0
jmp 0x410bbe
push 0x7fffffff
push ebx
push edi
call fcn.00401f6d
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.004020af
mov dword [ebp - 0x2c], edi
add esp, 0x10
mov dword [ebp - 0x28], esi
mov esi, str.Not_Found
mov dword [ebp - 0x2ec], eax
mov edi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [eax + 9], 0
cmp ebx, 0xf
jbe 0x410bbb
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2e4], eax
cmp ebx, 0x1000
jb 0x410bac
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x2e4]
push eax
call fcn.00401ec9
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2e4]
pop ecx
pop ecx
push ebx
push eax
call fcn.0041874e
mov eax, dword [ebp - 0x2ec]
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
push 0x98
lea eax, [ebp - 0x248]
push 0
push eax
call fcn.0041a530
pop ecx
pop ecx
lea ecx, [ebp - 0x248]
call fcn.00411ee8
mov byte [ebp - 4], 0x2d
mov esi, dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
jmp 0x410c1d
cmp dword [esi + 0x14], 0xf
mov edx, esi
jbe 0x410bf4
mov edx, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x248]
call fcn.0041573f
lea eax, [esi + 0x18]
pop ecx
cmp eax, edi
je 0x410c1a
mov edx, 0x448110
lea ecx, [ebp - 0x248]
call fcn.00414719
add esi, 0x18
cmp esi, edi
jne 0x410bea
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0xe8]
call fcn.0040db72
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x244]
call fcn.0041361c
lea edx, [ebp - 0x6c]
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xd0]
call fcn.0040db72
lea ecx, [ebp - 0x6c]
call fcn.00401f37
cmp dword [ebp - 0xd4], 7
lea edx, [ebp - 0xe8]
mov eax, dword [ebp - 0x30c]
lea ecx, [ebp - 0xd0]
cmova edx, dword [ebp - 0xe8]
cmp dword [ebp - 0xbc], 7
mov esi, dword [eax + 0x70]
cmova ecx, dword [ebp - 0xd0]
and dword [ebp - 0x54], 0
lea edi, [ebp - 0x54]
push edi
push ecx
push edx
push dword [ebp - 0x2f0]
mov byte [ebp - 4], 0x32
push dword [ebp - 0x18]
mov eax, dword [esi]
push esi
call dword [eax + 0x10]
mov ecx, dword [ebp - 0x310]
push dword [ebp - 0x54]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x410cca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0xd0]
call fcn.00401da8
lea ecx, [ebp - 0xe8]
call fcn.00401da8
lea ecx, [ebp - 0x248]
call fcn.00410d76
lea ecx, [ebp - 0xa0]
call fcn.00401da8
lea ecx, [ebp - 0xb8]
call fcn.00401f37
lea ecx, [ebp - 0x24]
call fcn.00401ddb
lea ecx, [ebp - 0x3c]
call fcn.00401f37
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x410d22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x100]
call fcn.00401f37
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x410d3e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x118]
call fcn.00401f37
cmp dword [ebp - 0x4c], 0
je 0x410d58
push dword [ebp - 0x4c]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
mov dword [ebp - 4], 0x37
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x410d6c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
call fcn.00418e39
ret 4