Function at 0x40b2d0
Capabilities:
Read file via mapping

Disassembly:
sub esp, 0x3a8
push ebx
push ebp
push esi
xor esi, esi
push edi
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jl 0x40c48d
push str.MutexMetric
push esi
push esi
mov dword [esp + 0x60], esi
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov eax, dword [esp + 0x3c4]
push eax
call fcn.0040c4a0
add esp, 4
lea ecx, [esp + 0xbc]
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
call fcn.00401080
push 0xc
call fcn.00412fb5
add esp, 4
cmp eax, esi
je 0x40b35a
mov ecx, eax
call fcn.0040d520
mov ebp, eax
jmp 0x40b35c
xor ebp, ebp
push 0x14
mov dword [esp + 0x5c], ebp
call fcn.00412fb5
add esp, 4
cmp eax, esi
je 0x40b396
mov ecx, dword [0x41f334]
mov edx, dword [0x41f330]
push ecx
mov ecx, dword [0x41f32c]
push edx
lea edx, [esp + 0xc4]
push ecx
push edx
mov ecx, eax
call fcn.0040dc70
mov ebx, eax
jmp 0x40b398
xor ebx, ebx
push 0x44
mov dword [esp + 0x78], ebx
call fcn.00412fb5
add esp, 4
cmp eax, esi
je 0x40b3c0
lea ecx, [esp + 0xbc]
push ebp
push ecx
mov ecx, eax
call fcn.004026e0
mov dword [esp + 0x40], eax
jmp 0x40b3c4
mov dword [esp + 0x40], esi
push str.HPAssetSharedMemory
push 0x100000
push esi
push 4
push esi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov edi, eax
push esi
cmp edi, esi
je 0x40b422
push esi
push esi
push 6
push edi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov esi, eax
test esi, esi
je 0x40b40c
push esi
mov ecx, ebx
call fcn.0040ddc0
push esi
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
jmp 0x40b42b
push 0
push 2
mov ecx, ebp
call fcn.0040d590
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor esi, esi
jmp 0x40b42b
push 2
mov ecx, ebp
call fcn.0040d590
mov al, byte [0x41f328]
test al, al
je 0x40b47c
lea edx, [esp + 0xcc]
mov ecx, ebx
push edx
call fcn.004113a0
test eax, eax
jne 0x40b47c
mov eax, dword [0x41f334]
cmp eax, esi
jne 0x40b455
mov eax, str.ExclusionList.xml
push eax
lea eax, [esp + 0x128]
push str.FileName___s
push eax
call fcn.004130a0
add esp, 0xc
lea ecx, [esp + 0x124]
push ecx
push 7
mov ecx, ebp
call fcn.0040d590
lea edx, [esp + 0xcc]
lea eax, [esp + 0x5c]
push edx
push eax
mov ecx, ebx
call fcn.0040f090
test eax, eax
je 0x40c38b
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x18], esi
cmp ecx, esi
mov dword [esp + 0x70], esi
jbe 0x40b767
mov eax, dword [esp + 0x6c]
xor ebp, ebp
mov dword [esp + 0x14], ebp
cmp dword [eax + ebp + 4], esi
je 0x40b4c4
mov dword [esp + 0x18], 1
mov cl, byte [0x41f325]
test cl, cl
je 0x40b4d5
mov byte [eax + ebp + 0x14], 0
jmp 0x40b4ef
mov ecx, dword [eax + ebp + 8]
mov edx, dword [eax + ebp]
push ecx
mov ecx, dword [esp + 0x44]
push edx
call fcn.00402b00
mov ecx, dword [esp + 0x6c]
mov byte [ecx + ebp + 0x14], al
mov eax, dword [esp + 0x6c]
mov cl, byte [eax + ebp + 0x14]
test cl, cl
je 0x40b504
cmp cl, 2
jne 0x40b74b
mov edx, dword [eax + ebp + 0xc]
lea ecx, [eax + ebp + 0xc]
cmp edx, esi
je 0x40b74b
mov esi, edx
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], dl
call fcn.004019b0
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x48]
push ebx
call fcn.00401a20
test al, al
je 0x40b565
mov edi, dword [esp + 0x48]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x48]
call fcn.00401a00
mov ecx, dword [esp + 0x6c]
push 0x41e3a0
mov edx, dword [ecx + ebp + 0xc]
push edx
call fcn.00413530
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x40b703
mov ecx, dword [esp + 0x14]
mov byte [ebp], 0
mov eax, dword [esp + 0x6c]
push 1
mov esi, dword [ecx + eax + 0xc]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x48]
push ebx
call fcn.00401a20
test al, al
je 0x40b5d1
mov edi, dword [esp + 0x48]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x48]
call fcn.00401a00
push 0x3f
push 1
lea ecx, [esp + 0x4c]
call fcn.0040ccb0
inc ebp
push 0x41e39c
push ebp
call fcn.00413530
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x40b6b4
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
mov byte [ebx], 0
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
lea ecx, [esp + 0x4c]
call fcn.0040cfa0
mov al, byte [ebx + 1]
inc ebx
cmp al, 0x24
mov ebp, ebx
je 0x40b627
test al, al
je 0x40b627
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x24
jne 0x40b61b
cmp byte [ebp], 0x24
jne 0x40b632
mov byte [ebp], 0
inc ebp
mov esi, 0x41f320
mov eax, ebx
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40b65d
test cl, cl
je 0x40b659
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40b65d
add eax, 2
add esi, 2
test cl, cl
jne 0x40b639
xor eax, eax
jmp 0x40b662
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b69c
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x1c]
push eax
push ebx
mov dword [esp + 0x24], 0
call fcn.004027b0
test eax, eax
je 0x40b69c
mov edx, dword [esp + 0x1c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x4c]
call fcn.0040cfa0
push 0x41e39c
push ebp
call fcn.00413530
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x40b5f7
mov esi, 0x41f320
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40b6e3
test cl, cl
je 0x40b6df
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40b6e3
add eax, 2
add esi, 2
test cl, cl
jne 0x40b6bb
xor eax, eax
jmp 0x40b6e8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b703
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push ebp
lea ecx, [esp + 0x4c]
call fcn.0040cfa0
mov eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + eax + 0xc]
push ecx
call fcn.00413071
mov eax, dword [esp + 0x4c]
add esp, 4
test eax, eax
jne 0x40b725
mov eax, 0x41b168
push eax
call fcn.004130f2
mov edx, dword [esp + 0x70]
add esp, 4
lea ecx, [esp + 0x44]
push 1
mov dword [esi + edx + 0xc], eax
call fcn.004019b0
xor esi, esi
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x68]
inc edx
add ebp, 0x18
cmp edx, ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x14], ebp
jb 0x40b4b6
mov al, byte [0x41f324]
test al, al
jne 0x40c372
test ecx, ecx
jbe 0x40c372
mov al, byte [0x41f325]
test al, al
jne 0x40c372
mov al, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x48]
mov byte [esp + 0x48], al
call fcn.004019b0
mov edi, 0x41f320
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x48]
push ebx
call fcn.00401a20
test al, al
je 0x40b7e0
mov edi, dword [esp + 0x48]
mov ecx, ebx
mov edx, ecx
mov esi, 0x41f320
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x48]
call fcn.00401a00
mov eax, dword [esp + 0x64]
test eax, eax
je 0x40b89f
mov esi, 0x41f320
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40b819
test cl, cl
je 0x40b815
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40b819
add eax, 2
add esi, 2
test cl, cl
jne 0x40b7f1
xor eax, eax
jmp 0x40b81e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x40b89f
mov edi, str.http:__
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x48]
push ebx
call fcn.00401a20
test al, al
je 0x40b866
mov edi, dword [esp + 0x48]
mov ecx, ebx
mov eax, ecx
mov esi, str.http:__
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x48]
call fcn.00401a00
mov edx, dword [esp + 0x64]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x4c]
call fcn.0040cfa0
mov edi, str._activec_servlet_hp.ac.servlets.ACMetricsServlet
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str._activec_servlet_hp.ac.servlets.ACMetricsServlet
lea ecx, [esp + 0x4c]
call fcn.0040cfa0
mov edi, 0x41f320
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x50]
push 0x41f320
push ecx
push eax
lea ecx, [esp + 0x54]
call fcn.0040b260
test eax, eax
je 0x40c34e
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x34]
mov byte [esp + 0x34], dl
call fcn.004019b0
mov edi, str._metricType0qa
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x34]
push ebx
call fcn.00401a20
test al, al
je 0x40b922
mov edi, dword [esp + 0x34]
mov ecx, ebx
mov eax, ecx
mov esi, str._metricType0qa
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x34]
call fcn.00401a00
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40b978
mov edi, str.true
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x38]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [0x41b16c]
sub ecx, edx
cmp ecx, esi
ja 0x40b950
call fcn.00418970
test esi, esi
jbe 0x40b9e3
mov edx, dword [esp + 0x38]
push 0
lea ecx, [esp + 0x34]
lea ebx, [edx + esi]
push ebx
call fcn.00401a20
test al, al
je 0x40b9e3
mov ecx, esi
mov esi, str.true
jmp 0x40b9c0
mov edi, str.false
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x38]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [0x41b16c]
sub ecx, edx
cmp ecx, esi
ja 0x40b99e
call fcn.00418970
test esi, esi
jbe 0x40b9e3
mov edx, dword [esp + 0x38]
push 0
lea ecx, [esp + 0x34]
lea ebx, [edx + esi]
push ebx
call fcn.00401a20
test al, al
je 0x40b9e3
mov ecx, esi
mov esi, str.false
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ebx
lea edi, [edx + eax]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x34]
call fcn.00401a00
lea ecx, [esp + 0x30]
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0xdc]
push edx
push eax
call fcn.0040d060
push 0x90
call fcn.00412fb5
mov esi, eax
add esp, 0x10
test esi, esi
je 0x40ba31
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0xd8]
push ecx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00402400
mov ecx, esi
call fcn.0040d770
jmp 0x40ba33
xor eax, eax
mov ecx, eax
mov dword [esp + 0x228], eax
call fcn.0040d360
mov edi, 0x41f320
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x58], 1
mov ebx, ecx
lea ecx, [esp + 0x34]
push ebx
call fcn.00401a20
test al, al
je 0x40ba8f
mov edi, dword [esp + 0x34]
mov ecx, ebx
mov eax, ecx
mov esi, 0x41f320
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], ebx
mov byte [ecx + ebx], 0
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x24]
mov dword [esp + 0x44], 0
mov dword [esp + 0x20], 1
mov byte [esp + 0x24], dl
call fcn.004019b0
push 0
lea ecx, [esp + 0x8c]
mov al, byte [esp + 0x17]
mov byte [esp + 0x8c], al
call fcn.004019b0
sub esp, 0x10
mov cl, byte [esp + 0x23]
mov ebp, esp
mov dword [esp + 0x28], esp
push 0
mov byte [ebp], cl
mov ecx, ebp
call fcn.004019b0
mov edi, str.Win32_ComputerSystem_0_
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.00401a20
test al, al
je 0x40bb25
mov edi, dword [ebp + 4]
mov ecx, ebx
mov edx, ecx
mov esi, str.Win32_ComputerSystem_0_
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
mov byte [eax + ebx], 0
lea ecx, [esp + 0xd0]
call fcn.0040ab50
mov esi, eax
push 0
mov cl, byte [esi]
mov byte [esp + 0x9c], cl
lea ecx, [esp + 0x9c]
call fcn.004019b0
mov edx, dword [0x41b16c]
lea ecx, [esp + 0x98]
push edx
push 0
push esi
call fcn.0040a750
mov eax, dword [esi + 0x10]
add esi, 0x14
push esi
lea ecx, [esp + 0xb0]
mov dword [esp + 0xac], eax
call fcn.0040cc30
mov edi, 0x41f320
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0xa4]
push 0x41f320
push ecx
push eax
lea ecx, [esp + 0xa8]
call fcn.0040b260
test eax, eax
je 0x40bcbe
mov dl, byte [esp + 0x13]
sub esp, 0x10
mov ebp, esp
mov dword [esp + 0x28], esp
push 0
mov ecx, ebp
mov byte [ebp], dl
call fcn.004019b0
mov edi, str.Model
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, ebp
push ebx
call fcn.00401a20
test al, al
je 0x40bc06
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
mov esi, str.Model
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 4]
mov dword [ebp + 8], ebx
mov byte [ecx + ebx], 0
sub esp, 0x24
lea edx, [esp + 0xcc]
mov ecx, esp
mov dword [esp + 0x4c], esp
push edx
call fcn.00408a30
lea ecx, [esp + 0xf0]
call fcn.00401160
mov esi, eax
test esi, esi
jl 0x40bcbe
mov edi, dword [esp + 0xb0]
test edi, edi
je 0x40bc5b
mov ecx, dword [esp + 0xb4]
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
cmp edx, esi
ja 0x40bc94
lea ecx, [esp + 0x13]
push ecx
push str.invalid_vector_T__subscript
lea ecx, [esp + 0x80]
call fcn.004018b0
lea edx, [esp + 0x78]
lea ecx, [esp + 0x108]
push edx
call fcn.004088c0
lea eax, [esp + 0x108]
push 0x41bd68
push eax
call fcn.00412c3a
lea ecx, [esi + esi*2]
shl ecx, 4
lea eax, [ecx + edi]
mov ecx, dword [ecx + edi + 0x10]
test ecx, ecx
jne 0x40bcbe
mov edx, dword [0x41b16c]
add eax, 0x18
push edx
push 0
push eax
lea ecx, [esp + 0x94]
call fcn.0040a750
mov eax, dword [esp + 0x68]
test eax, eax
jbe 0x40c15f
lea eax, [esp + 0x22c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
mov al, byte [ecx + edx + 0x14]
test al, al
jne 0x40c13f
cmp dword [esp + 0x1c], 1
jne 0x40bd3e
mov edi, str._metricType1
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x34]
push ebp
call fcn.00401a20
test al, al
je 0x40bd3e
mov edi, dword [esp + 0x34]
mov ecx, ebp
mov eax, ecx
mov esi, str._metricType1
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
mov byte [ecx + ebp], 0
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0xe8]
push edx
push str.guid_u
push eax
call fcn.004130a0
lea edi, [esp + 0xf4]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov ebp, ecx
lea ecx, [esp + 0x24]
push ebp
call fcn.00401a20
test al, al
je 0x40bda2
mov edi, dword [esp + 0x24]
mov ecx, ebp
mov edx, ecx
lea esi, [esp + 0xe8]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], ebp
mov byte [eax + ebp], 0
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x14]
xor eax, eax
mov esi, dword [edx + ecx]
or ecx, 0xffffffff
mov edi, esi
mov edx, dword [esp + 0x28]
repne scasb al, byte es:[edi]
mov eax, dword [0x41b16c]
not ecx
dec ecx
sub eax, edx
mov edi, ecx
cmp eax, edi
ja 0x40bdcf
call fcn.00418970
test edi, edi
jbe 0x40be0f
mov ecx, dword [esp + 0x28]
push 0
lea ebp, [ecx + edi]
lea ecx, [esp + 0x24]
push ebp
call fcn.00401a20
test al, al
je 0x40be0f
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edi
push ebp
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call fcn.00401a00
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0xe8]
push eax
push str.param_u
push ecx
call fcn.004130a0
lea edi, [esp + 0xf4]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [0x41b16c]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [esp + 0x28]
sub edx, ecx
cmp edx, esi
ja 0x40be51
call fcn.00418970
xor ebx, ebx
cmp esi, ebx
jbe 0x40be99
mov eax, dword [esp + 0x28]
push ebx
lea ecx, [esp + 0x24]
lea ebp, [eax + esi]
push ebp
call fcn.00401a20
test al, al
je 0x40be99
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, esi
lea esi, [esp + 0xe8]
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call fcn.00401a00
mov eax, dword [0x41b16c]
lea ecx, [esp + 0x88]
push eax
push ebx
push ecx
lea ecx, [esp + 0x2c]
call fcn.0040cec0
lea eax, [esp + 0xe8]
mov edx, dword [esp + 0x1c]
push edx
push str.qa_u
push eax
call fcn.004130a0
lea edi, [esp + 0xf4]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x28]
not ecx
dec ecx
mov esi, ecx
mov ecx, dword [0x41b16c]
sub ecx, edx
cmp ecx, esi
ja 0x40bef3
call fcn.00418970
cmp esi, ebx
jbe 0x40bf39
mov edx, dword [esp + 0x28]
push ebx
lea ecx, [esp + 0x24]
lea ebp, [edx + esi]
push ebp
call fcn.00401a20
test al, al
je 0x40bf39
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ecx, esi
lea esi, [esp + 0xe8]
lea edi, [edx + eax]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call fcn.00401a00
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
cmp dword [ecx + edx + 4], ebx
je 0x40bf93
mov edi, str.true
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x28]
repne scasb al, byte es:[edi]
mov eax, dword [0x41b16c]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x40bf6c
call fcn.00418970
cmp esi, ebx
jbe 0x40bffc
mov ecx, dword [esp + 0x28]
push ebx
lea ebp, [ecx + esi]
lea ecx, [esp + 0x24]
push ebp
call fcn.00401a20
test al, al
je 0x40bffc
mov ecx, esi
mov esi, str.true
jmp 0x40bfd9
mov edi, str.false
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x28]
repne scasb al, byte es:[edi]
mov eax, dword [0x41b16c]
not ecx
dec ecx
sub eax, edx
mov esi, ecx
cmp eax, esi
ja 0x40bfb8
call fcn.00418970
cmp esi, ebx
jbe 0x40bffc
mov ecx, dword [esp + 0x28]
push ebx
lea ebp, [ecx + esi]
lea ecx, [esp + 0x24]
push ebp
call fcn.00401a20
test al, al
je 0x40bffc
mov ecx, esi
mov esi, str.false
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push ebp
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x24]
call fcn.00401a00
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
lea eax, [edx + ecx]
add eax, edi
cmp eax, 0x824
jbe 0x40c0d7
lea ecx, [esp + 0x30]
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x7c]
push edx
push eax
call fcn.0040d060
push 0x90
call fcn.00412fb5
mov esi, eax
add esp, 0x10
cmp esi, ebx
je 0x40c063
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x78]
push ecx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x84], esp
push edx
call fcn.00402400
mov ecx, esi
call fcn.0040d770
jmp 0x40c065
xor eax, eax
mov esi, dword [esp + 0x18]
mov ecx, eax
mov dword [esi], eax
call fcn.0040d360
mov ebp, dword [esp + 0x54]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
add esi, 4
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x40]
inc ebp
dec esi
sub edx, 0x18
cmp eax, ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x1c], 1
mov dword [esp + 0x40], esi
mov dword [esp + 0x14], edx
je 0x40c0c3
mov cl, byte [eax - 1]
test cl, cl
je 0x40c0b9
cmp cl, 0xff
je 0x40c0b9
dec cl
mov byte [eax - 1], cl
jmp 0x40c0c3
dec eax
push eax
call fcn.00412670
add esp, 4
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
jmp 0x40c13f
mov eax, dword [0x41b16c]
mov edi, eax
cmp ecx, edi
jae 0x40c0e4
mov edi, ecx
sub eax, edx
cmp eax, edi
ja 0x40c0ef
call fcn.00418970
cmp edi, ebx
jbe 0x40c13b
mov eax, dword [esp + 0x38]
push ebx
lea ecx, [esp + 0x34]
lea ebp, [eax + edi]
push ebp
call fcn.00401a20
test al, al
je 0x40c13b
mov esi, dword [esp + 0x24]
cmp esi, ebx
jne 0x40c116
mov esi, 0x41b168
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ecx, edi
push ebp
lea edi, [eax + edx]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x34]
call fcn.00401a00
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x68]
inc eax
add edx, 0x18
cmp eax, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], edx
jb 0x40bcdd
mov edi, 0x41f320
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x38]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, edx
cmp edx, ebx
jb 0x40c17c
mov ecx, ebx
mov esi, dword [esp + 0x34]
mov edi, 0x41f320
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x40c190
sbb eax, eax
sbb eax, 0xffffffff
xor ebp, ebp
cmp eax, ebp
jne 0x40c1a9
cmp edx, ebx
jb 0x40c1a9
xor eax, eax
cmp edx, ebx
setne al
cmp eax, ebp
je 0x40c22e
lea eax, [esp + 0x30]
lea ecx, [esp + 0x44]
push eax
lea edx, [esp + 0x7c]
push ecx
push edx
call fcn.0040d060
push 0x90
call fcn.00412fb5
mov esi, eax
add esp, 0x10
cmp esi, ebp
je 0x40c1f1
mov eax, dword [esp + 0x58]
lea edx, [esp + 0x78]
push eax
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00402400
mov ecx, esi
call fcn.0040d770
jmp 0x40c1f3
xor eax, eax
mov esi, dword [esp + 0x54]
mov ecx, eax
mov dword [esp + esi*4 + 0x228], eax
call fcn.0040d360
mov ecx, dword [esp + 0x7c]
inc esi
cmp ecx, ebp
mov dword [esp + 0x54], esi
je 0x40c22e
mov al, byte [ecx - 1]
test al, al
je 0x40c224
cmp al, 0xff
je 0x40c224
dec al
mov byte [ecx - 1], al
jmp 0x40c22e
dec ecx
push ecx
call fcn.00412670
add esp, 4
mov edi, dword [esp + 0xb4]
mov esi, dword [esp + 0xb0]
cmp esi, edi
je 0x40c256
push ebp
mov ecx, esi
call fcn.00402550
add esi, 0x30
cmp esi, edi
jne 0x40c240
mov esi, dword [esp + 0xb0]
push esi
call fcn.00412670
add esp, 4
lea ecx, [esp + 0x98]
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], ebp
push 1
mov dword [esp + 0xbc], ebp
call fcn.004019b0
mov ecx, dword [esp + 0x8c]
cmp ecx, ebp
je 0x40c2a9
mov al, byte [ecx - 1]
test al, al
je 0x40c29f
cmp al, 0xff
je 0x40c29f
dec al
mov byte [ecx - 1], al
jmp 0x40c2a9
dec ecx
push ecx
call fcn.00412670
add esp, 4
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x8c], ebp
cmp ecx, ebp
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], ebp
je 0x40c2e2
mov al, byte [ecx - 1]
test al, al
je 0x40c2d8
cmp al, 0xff
je 0x40c2d8
dec al
mov byte [ecx - 1], al
jmp 0x40c2e2
dec ecx
push ecx
call fcn.00412670
add esp, 4
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x24], ebp
cmp ecx, ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
je 0x40c315
mov al, byte [ecx - 1]
test al, al
je 0x40c30b
cmp al, 0xff
je 0x40c30b
dec al
mov byte [ecx - 1], al
jmp 0x40c315
dec ecx
push ecx
call fcn.00412670
add esp, 4
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xdc], ebp
cmp ecx, ebp
mov dword [esp + 0xe0], ebp
mov dword [esp + 0xe4], ebp
je 0x40c34e
mov al, byte [ecx - 1]
test al, al
je 0x40c344
cmp al, 0xff
je 0x40c344
dec al
mov byte [ecx - 1], al
jmp 0x40c34e
dec ecx
push ecx
call fcn.00412670
add esp, 4
mov ecx, dword [esp + 0x48]
test ecx, ecx
je 0x40c372
mov al, byte [ecx - 1]
test al, al
je 0x40c368
cmp al, 0xff
je 0x40c368
dec al
mov byte [ecx - 1], al
jmp 0x40c372
dec ecx
push ecx
call fcn.00412670
add esp, 4
mov al, byte [0x41f327]
test al, al
je 0x40c3c0
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x5c]
push eax
call fcn.00410800
jmp 0x40c3c0
mov eax, dword [0x41f32c]
cmp eax, esi
jne 0x40c399
mov eax, str.IssueList.xml
push eax
lea ecx, [esp + 0x128]
push str.FileName___s
push ecx
call fcn.004130a0
add esp, 0xc
lea edx, [esp + 0x124]
mov ecx, ebp
push edx
push 3
call fcn.0040d590
mov al, byte [0x41f326]
lea ecx, [esp + 0x5c]
push eax
push ecx
mov ecx, dword [esp + 0x7c]
call fcn.0040f420
test eax, eax
jne 0x40c413
mov eax, dword [0x41f330]
test eax, eax
jne 0x40c3e6
mov eax, str.IssueResult.xml
push eax
lea edx, [esp + 0x128]
push str.FileName___s
push edx
call fcn.004130a0
mov ebp, dword [esp + 0x64]
add esp, 0xc
lea eax, [esp + 0x124]
mov ecx, ebp
push eax
push 6
call fcn.0040d590
jmp 0x40c417
mov ebp, dword [esp + 0x58]
mov al, byte [0x41f324]
test al, al
jne 0x40c454
mov eax, dword [esp + 0x68]
test eax, eax
jbe 0x40c454
mov eax, dword [esp + 0x54]
test eax, eax
jbe 0x40c454
lea edi, [esp + 0x228]
mov ebx, eax
mov esi, dword [edi]
mov ecx, esi
call fcn.0040d3b0
test esi, esi
je 0x40c44e
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
add edi, 4
dec ebx
jne 0x40c439
mov ecx, ebp
call fcn.0040d630
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ecx, ebp
call fcn.0040d710
test al, al
lea ecx, [esp + 0xbc]
je 0x40c488
call fcn.004010c0
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3a8
ret 0x10
call fcn.004010c0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x3a8
ret 0x10