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

Disassembly:
push 0x308
mov eax, 0x43cc69
call fcn.00418955
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.0040d9f5
lea edx, [ebp - 0xa0]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x118]
call fcn.0040dc40
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.0040f481
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x100]
call fcn.0040e445
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.0040214b
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x88]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x4102c4
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x4102cd
push eax
lea ecx, [ebp - 0x24]
call fcn.00401b8a
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0xd
call fcn.00401f37
push 0x44611c
lea ecx, [ebp - 0x6c]
call fcn.0040214b
push 0x4490dc
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xf
call fcn.0040214b
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.0040e607
mov esi, eax
lea ecx, [ebx + 0x24]
mov byte [ebp - 4], 0x11
push ecx
lea edx, [ebx + 0xc]
lea ecx, [ebp - 0x308]
call fcn.00402bc1
add esp, 0xc
push esi
push eax
push dword [ebp - 0x310]
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
call fcn.00414f0f
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.0040db34
lea edx, [ebp - 0xb8]
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x6c]
call fcn.0040db34
mov edx, eax
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x88]
call fcn.0040dd4f
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 0x410b6b
lea edx, [ebp - 0x100]
lea ecx, [ebp - 0x88]
call fcn.00402e36
push str.Content_Type:
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1a
call fcn.0040214b
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.00402da9
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 0x410458
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x410461
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.0040214b
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x4104a8
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x4104b1
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.0040214b
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1e
call fcn.0040dffe
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 0x4109df
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.004174a9
push eax
push str.Range
push esi
call dword [edi + 0xc]
push dword [ebp - 0x44]
lea ecx, [ebp - 0x308]
call fcn.0040d9f5
lea edx, [ebp - 0x308]
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x6c]
call fcn.0040dc40
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x22
call fcn.00401da8
lea ecx, [ebp - 0x6c]
call fcn.0040e5c4
mov edx, ebx
lea ecx, [ebp - 0x6c]
call fcn.0040e6b6
mov edi, eax
mov esi, edx
mov dword [ebp - 0x2e4], edi
test edi, edi
jne 0x41064b
test esi, esi
jne 0x41064b
mov ebx, dword [ebp - 0x28]
mov eax, 0x1a0
push 0x15
pop edi
mov dword [ebp - 0x2f0], eax
cmp ebx, edi
jb 0x4105ce
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.00419920
add esp, 0xc
mov byte [esi + 0x15], 0
jmp 0x4109bf
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 0x410643
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x2e8], ebx
mov dword [ebp - 0x40], eax
cmp ebx, 0x1000
jb 0x410637
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.00418219
mov eax, dword [ebp - 0x14]
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
jmp 0x4109bf
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.00419ea0
pop ecx
pop ecx
lea ecx, [ebp - 0x1b0]
call fcn.00411c3b
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.00414315
mov ecx, eax
call fcn.00412317
mov edx, 0x447ec8
mov ecx, eax
call fcn.00414315
mov ecx, eax
call fcn.00412317
mov edx, 0x4490dc
mov ecx, eax
call fcn.00414315
mov ecx, eax
call fcn.00412317
push 0x98
lea eax, [ebp - 0x2e0]
push 0
push eax
call fcn.00419ea0
pop ecx
pop ecx
lea ecx, [ebp - 0x2e0]
call fcn.00411c3b
push ebx
mov edx, str.Content_Length:
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x2e0]
call fcn.00414315
mov ecx, eax
call fcn.00412317
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.004132c7
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x41072a
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x410733
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.004132c7
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x308]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x410774
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x41077d
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 0x4107c2
push eax
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
cmova esi, dword [ebp - 0x3c]
push str.Partial_Content
push esi
call fcn.00419920
add esp, 0xc
mov byte [esi + 0xf], 0
jmp 0x410848
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 0x41083f
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x2e8], eax
cmp ebx, 0x1000
jb 0x410830
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.00418219
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 0x4108a6
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x308]
call fcn.0040dd4f
mov esi, eax
cmp dword [esi + 0x14], 7
jbe 0x41086e
mov esi, dword [esi]
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x18]
and dword [ebp - 0x18], 0
test ecx, ecx
je 0x410883
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 0x4109a9
mov ecx, dword [ebp - 0x30c]
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0x100]
push eax
call fcn.00410e63
test eax, eax
jne 0x410981
mov ebx, dword [ebp - 0x28]
mov eax, 0x1f4
push 0x15
pop edi
mov dword [ebp - 0x2f0], eax
cmp ebx, edi
jb 0x410901
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.00419920
add esp, 0xc
mov byte [esi + 0x15], 0
jmp 0x4109a9
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 0x41097c
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2e4], eax
cmp ebx, 0x1000
jb 0x41096d
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.00418219
mov eax, dword [ebp - 0x2ec]
pop ecx
pop ecx
mov dword [ebp - 0x3c], eax
jmp 0x4109a9
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 0x41099f
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
test esi, esi
je 0x4109a9
mov eax, dword [esi]
push esi
call dword [eax + 8]
lea ecx, [ebp - 0x2e0]
call fcn.00410e12
lea ecx, [ebp - 0x1b0]
call fcn.00410e12
lea ecx, [ebp - 0x6c]
call fcn.00401f37
cmp dword [ebp - 0x44], 0
je 0x410b51
push dword [ebp - 0x44]
call dword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x410b51
push 0x98
lea eax, [ebp - 0x1b0]
push 0
push eax
call fcn.00419ea0
pop ecx
pop ecx
lea ecx, [ebp - 0x1b0]
call fcn.00411c3b
push ebx
mov edx, str.Content_Length:
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x1b0]
call fcn.00414315
mov ecx, eax
call fcn.00412317
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.004132c7
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x6c]
mov eax, dword [ebp - 0x20]
push ecx
cmp eax, dword [ebp - 0x1c]
je 0x410a47
mov ecx, eax
call fcn.00401d13
add dword [ebp - 0x20], 0x18
jmp 0x410a50
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.0040dd4f
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 0x410a82
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
cmp dword [esi + 0x14], 7
jbe 0x410a8e
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 0x410ad3
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 0x410b46
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 0x410b43
mov eax, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x2e4], eax
cmp edi, 0x1000
jb 0x410b3a
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.00418219
pop ecx
pop ecx
mov dword [ebp - 0x3c], ebx
lea ecx, [ebp - 0x1b0]
call fcn.00410e12
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0x18
call fcn.00401f37
mov edi, dword [ebp - 0x2f0]
jmp 0x410c60
mov esi, str.File_not_found
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410b75
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 0x410b9a
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
test esi, esi
je 0x410ba4
mov eax, dword [esi]
push esi
call dword [eax + 8]
push 9
mov byte [ebp - 4], 0x18
mov edi, 0x194
mov ebx, dword [ebp - 0x28]
pop eax
cmp ebx, eax
jb 0x410bdc
push eax
cmp ebx, 0xf
mov dword [ebp - 0x2c], eax
lea esi, [ebp - 0x3c]
cmova esi, dword [ebp - 0x3c]
push str.Not_Found
push esi
call fcn.00419920
add esp, 0xc
mov byte [esi + 9], 0
jmp 0x410c60
push 0x7fffffff
push ebx
push eax
call fcn.00401f6d
mov esi, eax
lea ecx, [esi + 1]
push ecx
call fcn.004020af
mov dword [ebp - 0x28], esi
mov edi, eax
mov esi, str.Not_Found
mov dword [ebp - 0x2c], 9
add esp, 0x10
mov dword [ebp - 0x2ec], 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 0x410c58
mov eax, dword [ebp - 0x3c]
inc ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x2e4], eax
cmp ebx, 0x1000
jb 0x410c49
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.00418219
mov eax, dword [ebp - 0x2ec]
pop ecx
pop ecx
mov edi, 0x194
mov dword [ebp - 0x3c], eax
push 0x98
lea eax, [ebp - 0x248]
push 0
push eax
call fcn.00419ea0
pop ecx
pop ecx
lea ecx, [ebp - 0x248]
call fcn.00411c3b
mov byte [ebp - 4], 0x2d
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x20]
cmp esi, ebx
je 0x410cc2
cmp dword [esi + 0x14], 0xf
mov edx, esi
jbe 0x410c98
mov edx, dword [esi]
push dword [esi + 0x10]
lea ecx, [ebp - 0x248]
call fcn.00415289
lea eax, [esi + 0x18]
mov esi, eax
pop ecx
cmp eax, ebx
je 0x410cc2
mov edx, 0x448078
lea ecx, [ebp - 0x248]
call fcn.00414315
jmp 0x410c8e
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0xe8]
call fcn.0040db34
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x2e
push eax
lea ecx, [ebp - 0x244]
call fcn.004132c7
lea edx, [ebp - 0x6c]
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0xd0]
call fcn.0040db34
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 ebx, [ebp - 0x54]
push ebx
push ecx
push edx
push edi
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 0x410d66
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.00410e12
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 0x410dbe
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 0x410dda
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x118]
call fcn.00401f37
cmp dword [ebp - 0x4c], 0
je 0x410df4
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 0x410e08
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
call fcn.00418904
ret 4