Function at 0x449850
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x53fc45
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x198
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x138]
mov dword [esp + 0x1c], esi
call fcn.00414670
xor ebx, ebx
lea ecx, [esp + 0x114]
mov dword [esp + 0x1b0], ebx
call fcn.00404840
push 1
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1b4], 1
call fcn.005095ed
mov eax, dword [0x5ab980]
mov edi, dword [esp + 0x1b8]
mov ecx, 0x559c1c
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], edi
lea eax, [esp + 0x10]
mov ebp, 0x75706474
push 0x4f4e
push eax
mov byte [esp + 0x1b8], 4
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x4c], 1
mov dword [esp + 0x74], ebp
call fcn.00422640
add esp, 8
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b4], 5
call fcn.00512a1d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
push ebx
lea ecx, [esp + 0x44]
call fcn.004593f0
lea ecx, [esp + 0x10]
push 0x4f56
push ecx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x74], ebp
call fcn.00422640
add esp, 8
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b4], 6
call fcn.00512a1d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
push ebx
lea ecx, [esp + 0x44]
call fcn.004593f0
push 0xfffffeca
push 0x4f52
call fcn.00422800
add esp, 8
lea ecx, [esp + 0x7c]
push 5
call fcn.00459480
push ebx
push esi
lea ecx, [esp + 0x11c]
call fcn.004050f0
lea ecx, [esp + 0x7c]
mov esi, eax
call fcn.004594e0
cmp esi, ebx
jge 0x449ac8
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 8
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 7
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0xa
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 9
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], bl
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, esi
jmp 0x44b407
lea edx, [esp + 0x10]
push 0x4f53
push edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x74], ebp
call fcn.00422640
add esp, 8
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b4], 0xb
call fcn.00512a1d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
push ebx
lea ecx, [esp + 0x44]
call fcn.004593f0
mov ebp, dword [esp + 0x1bc]
xor eax, eax
cmp ebp, 0xa
lea ecx, [esp + 0x7c]
setl al
dec eax
and eax, 0x55
add eax, 5
push eax
call fcn.00459480
lea ecx, [esp + 0x114]
push edi
push ecx
mov ecx, dword [esp + 0x24]
call fcn.004489e0
lea ecx, [esp + 0x7c]
mov esi, eax
call fcn.004594e0
cmp esi, ebx
jge 0x449c15
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0xd
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0xc
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0xf
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0xe
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, esi
jmp 0x44b407
cmp ebp, 0xa
jl 0x449cdf
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0x11
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0x10
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0x13
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0x12
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, esi
jmp 0x44b407
push 0x28
lea ecx, [esp + 0x80]
call fcn.00459480
mov esi, dword [esp + 0x1c]
cmp dword [esi + 0x8dc], ebx
jne 0x449f1a
push 0xfffffed2
push 0x4f52
call fcn.00422800
add esp, 8
lea ecx, [esi + 0x8a0]
push edi
call fcn.00415c40
mov esi, eax
cmp esi, ebx
jge 0x449de6
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0x15
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0x14
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0x17
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0x16
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, esi
jmp 0x44b407
lea ecx, [esp + 0x180]
call fcn.004436d0
lea ecx, [esp + 0x164]
call fcn.00443890
mov eax, dword [0x5ab980]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x1c]
mov bl, 0x1a
mov byte [esp + 0x1b0], bl
lea ebp, [edx + 0x8c0]
mov ecx, ebp
call fcn.00511be6
push 0
lea eax, [esp + 0x18]
push 1
lea ecx, [esp + 0x188]
push eax
push ecx
push str.HKEY_LOCAL_MACHINESOFTWAREMicrosoftShared_Tools_
lea ecx, [esp + 0x178]
call fcn.00444400
mov esi, dword [esp + 0x184]
test esi, esi
je 0x449ee2
mov eax, esi
mov esi, dword [esi]
lea edx, [esp + 0x10]
mov eax, dword [eax + 8]
add eax, 8
push eax
push str.HKEY_LOCAL_MACHINESOFTWAREMicrosoftShared_Tools_
push edx
call fcn.00512bed
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1b4], 0x1b
call fcn.00512a1d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], bl
call fcn.005128e4
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x20]
push 1
push eax
push str.path
push ecx
call fcn.0041efa0
lea edx, [esp + 0x30]
push edx
call fcn.0041fdf0
add esp, 0x14
test eax, eax
jne 0x449eda
lea ecx, [esp + 0x20]
call fcn.00512e18
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov ecx, ebp
call fcn.00511d2b
mov ecx, eax
call fcn.00512a6d
test esi, esi
jne 0x449e56
lea ecx, [esp + 0x20]
mov byte [esp + 0x1b0], 0x19
call fcn.005128e4
lea ecx, [esp + 0x28]
mov byte [esp + 0x1b0], 0x18
call fcn.005128e4
lea ecx, [esp + 0x180]
mov byte [esp + 0x1b0], 4
call fcn.00443720
xor ebx, ebx
lea ecx, [esp + 0x7c]
call fcn.004594e0
push 0xfffffecf
push 0x4f52
call fcn.00422800
add esp, 8
lea ecx, [esp + 0x7c]
push 0x14
call fcn.00459480
mov edx, dword [esp + 0x1c]
push edi
push edx
lea ecx, [esp + 0x140]
call fcn.00414c20
lea ecx, [esp + 0x7c]
mov esi, eax
call fcn.004594e0
cmp esi, ebx
jge 0x44a026
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0x1d
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0x1c
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0x1f
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0x1e
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, esi
jmp 0x44b407
push 0xa
lea ecx, [esp + 0x80]
call fcn.00459480
mov edi, dword [esp + 0x13c]
cmp edi, ebx
je 0x44a0e9
mov bl, 0x20
xor ebp, ebp
mov eax, edi
mov edi, dword [edi]
mov esi, dword [eax + 8]
mov eax, dword [esi + 0xb0]
cmp dword [eax - 8], ebp
je 0x44a0df
lea ecx, [esp + 0x2c]
push 0x4f55
push ecx
mov dword [esp + 0x4c], ebp
call fcn.00422640
add esp, 8
lea edx, [esi + 0xc]
mov byte [esp + 0x1b0], bl
push edx
push eax
lea eax, [esp + 0x18]
push eax
call fcn.00512b13
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b4], 0x21
call fcn.00512a1d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], bl
call fcn.005128e4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
push ebp
lea ecx, [esp + 0x44]
call fcn.004593f0
test eax, eax
jne 0x44a1ba
mov eax, dword [esp + 0x1c]
push esi
push eax
lea ecx, [eax + 0x840]
call fcn.00419e00
cmp edi, ebp
jne 0x44a047
xor ebx, ebx
lea ecx, [esp + 0x7c]
call fcn.004594e0
push 0xa
lea ecx, [esp + 0x80]
call fcn.00459480
mov edi, dword [esp + 0x13c]
cmp edi, ebx
je 0x44a342
mov bl, 0x26
xor ebp, ebp
mov eax, edi
mov edi, dword [edi]
mov esi, dword [eax + 8]
mov ecx, dword [esi + 0xb0]
cmp dword [ecx - 8], ebp
jne 0x44a1ab
lea edx, [esp + 0x2c]
push 0x4f55
push edx
mov dword [esp + 0x4c], ebp
call fcn.00422640
add esp, 8
lea ecx, [esi + 0xc]
lea edx, [esp + 0x10]
push ecx
push eax
push edx
mov byte [esp + 0x1bc], bl
call fcn.00512b13
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b4], 0x27
call fcn.00512a1d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], bl
call fcn.005128e4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
push ebp
lea ecx, [esp + 0x44]
call fcn.004593f0
test eax, eax
jne 0x44a27e
mov eax, dword [esp + 0x1c]
push esi
push eax
lea ecx, [eax + 0x840]
call fcn.00419e00
cmp edi, ebp
jne 0x44a113
xor ebx, ebx
jmp 0x44a342
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0x23
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0x22
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0x25
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0x24
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, 0xfffffc19
jmp 0x44b407
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0x29
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0x28
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0x2b
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0x2a
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, 0xfffffc19
jmp 0x44b407
lea ecx, [esp + 0x7c]
call fcn.004594e0
mov esi, dword [esp + 0x118]
cmp esi, ebx
je 0x44a42b
mov bl, 0x2d
mov eax, esi
mov esi, dword [esi]
mov edi, dword [eax + 8]
lea eax, [esp + 0x24]
push eax
mov ecx, edi
mov dword [esp + 0x48], 0
call fcn.00403d50
mov ebp, eax
lea ecx, [esp + 0x2c]
push 0x4f55
push ecx
mov byte [esp + 0x1b8], 0x2c
call fcn.00422640
add esp, 8
push ebp
lea edx, [esp + 0x14]
push eax
push edx
mov byte [esp + 0x1bc], bl
call fcn.00512b13
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b4], 0x2e
call fcn.00512a1d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], bl
call fcn.005128e4
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1b0], 0x2c
call fcn.005128e4
lea ecx, [esp + 0x24]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
push 0
lea ecx, [esp + 0x44]
call fcn.004593f0
test eax, eax
jne 0x44a4af
mov eax, dword [esp + 0x1c]
push edi
push eax
lea ebp, [eax + 0x840]
mov ecx, ebp
call fcn.0041a270
test eax, eax
jg 0x44a421
mov eax, dword [esp + 0x1c]
push edi
push eax
mov ecx, ebp
call fcn.0041a0f0
test esi, esi
jne 0x44a35c
xor ebx, ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 0x844]
cmp eax, ebx
mov dword [esp + 0x28], eax
je 0x44a932
mov eax, dword [esp + 0x28]
mov edi, dword [eax + 8]
mov edx, dword [eax]
mov eax, dword [edi + 4]
mov dword [esp + 0x28], edx
lea ebp, [edi + 4]
mov dword [esp + 0x30], edi
cmp dword [eax - 8], ebx
je 0x44a466
push ebp
lea ecx, [edi + 0xc]
call fcn.00405a60
cmp dword [edi + 0x8c], 1
jle 0x44a61a
mov esi, dword [edi + 0x84]
cmp esi, ebx
je 0x44a61a
mov ecx, dword [esp + 0x30]
lea edi, [ecx + 8]
mov edx, dword [edi]
mov eax, esi
mov esi, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0xc]
push eax
push edx
call fcn.004f9670
add esp, 8
cmp eax, ebx
jne 0x44a573
cmp esi, ebx
jne 0x44a488
jmp 0x44a616
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0x30
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0x2f
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0x32
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0x31
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, 0xfffffc19
jmp 0x44b407
push ebp
lea ecx, [esp + 0x40]
call fcn.00512659
push 0x5c
lea ecx, [esp + 0x40]
mov byte [esp + 0x1b4], 0x33
call fcn.0050e776
push 0x5c
lea ecx, [esp + 0x40]
call fcn.0050e31f
cmp eax, ebx
jle 0x44a605
inc eax
lea ecx, [esp + 0x3c]
push eax
lea eax, [esp + 0x164]
push eax
call fcn.0050e172
push 0x599408
lea ecx, [esp + 0x138]
push eax
push ecx
mov byte [esp + 0x1bc], 0x34
call fcn.00512b79
push eax
mov ecx, edi
mov byte [esp + 0x1b4], 0x35
call fcn.00512a1d
lea ecx, [esp + 0x134]
mov byte [esp + 0x1b0], 0x34
call fcn.005128e4
lea ecx, [esp + 0x160]
mov byte [esp + 0x1b0], 0x33
call fcn.005128e4
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
mov edi, dword [esp + 0x30]
cmp dword [edi + 0x8c], ebx
jne 0x44a928
cmp dword [edi + 0x6c], ebx
jle 0x44a928
mov eax, dword [0x5ab980]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x18], eax
push 0xa
lea ecx, [esp + 0x184]
mov byte [esp + 0x1b4], 0x38
call fcn.00510deb
mov esi, 0x559f90
mov dword [esp + 0x180], esi
push 0xa
lea ecx, [esp + 0x168]
mov byte [esp + 0x1b4], 0x39
call fcn.00510deb
mov dword [esp + 0x164], esi
mov ebp, dword [edi + 0x64]
mov byte [esp + 0x1b0], 0x3a
cmp ebp, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], ebx
je 0x44a88a
mov eax, ebp
mov ebp, dword [ebp]
mov edi, dword [eax + 8]
cmp dword [edi + 4], 0x65
jne 0x44a828
lea edx, [esp + 0x38]
mov ecx, edi
push edx
call fcn.00403d50
lea eax, [edi + 0x20]
lea ecx, [esp + 0x24]
push eax
mov byte [esp + 0x1b4], 0x3b
call fcn.00512659
lea ecx, [esp + 0x24]
mov byte [esp + 0x1b0], 0x3c
call fcn.00512e06
mov ecx, dword [esp + 0x24]
push ebx
push ecx
lea ecx, [esp + 0x188]
call fcn.0051111f
test eax, eax
jne 0x44a806
lea edx, [esp + 0x24]
lea ecx, [esp + 0x180]
push edx
call fcn.00510fd7
mov esi, dword [esp + 0x168]
cmp esi, ebx
je 0x44a7bd
mov eax, esi
mov esi, dword [esi]
add eax, 8
lea ecx, [esp + 0x20]
push eax
call fcn.00512a1d
push ecx
lea eax, [esp + 0x3c]
mov ecx, esp
mov dword [esp + 0x15c], esp
push eax
call fcn.00512659
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0xc0], esp
push edx
mov byte [esp + 0x1bc], 0x3d
call fcn.00512659
mov byte [esp + 0x1b8], 0x3c
call fcn.00422b30
add esp, 8
cmp eax, ebx
jge 0x44a806
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0xbc], esp
push eax
call fcn.00512659
push ecx
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x160], esp
push edx
mov byte [esp + 0x1bc], 0x3e
call fcn.00512659
mov byte [esp + 0x1b8], 0x3c
call fcn.00422b30
add esp, 8
cmp eax, ebx
jge 0x44a806
cmp esi, ebx
jne 0x44a718
lea eax, [esp + 0x38]
lea ecx, [esp + 0x164]
push eax
call fcn.00510fd7
lea ecx, [esp + 0x38]
push 0x2c
lea edx, [esp + 0x18]
push ecx
push edx
call fcn.0050dd7d
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x1b4], 0x3f
call fcn.00512cfc
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], 0x3c
call fcn.005128e4
inc dword [esp + 0x2c]
lea ecx, [esp + 0x24]
mov byte [esp + 0x1b0], 0x3b
call fcn.005128e4
lea ecx, [esp + 0x38]
mov byte [esp + 0x1b0], 0x3a
call fcn.005128e4
mov eax, dword [esp + 0x34]
cmp dword [eax - 8], ebx
jne 0x44a84c
lea ecx, [esp + 0x34]
add edi, 8
push ecx
push edi
call fcn.00449770
add esp, 8
mov dword [esp + 0x10], 1
jmp 0x44a878
lea edx, [esp + 0x20]
add edi, 8
push edx
push edi
call fcn.00449770
mov eax, dword [esp + 0x28]
add esp, 8
cmp dword [eax - 8], ebx
je 0x44a878
mov ecx, dword [esp + 0x34]
push ecx
push eax
call fcn.004f9670
add esp, 8
cmp eax, ebx
jne 0x44a882
cmp ebp, ebx
jne 0x44a69a
jmp 0x44a886
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x30]
push 0x2c
lea ecx, [esp + 0x1c]
call fcn.0050e776
mov eax, dword [esp + 0x2c]
cmp eax, 1
mov eax, dword [esp + 0x18]
jne 0x44a8ae
cmp dword [eax - 8], ebx
je 0x44a8ae
lea edx, [esp + 0x18]
push edx
jmp 0x44a8c5
cmp dword [esp + 0x10], ebx
je 0x44a8bb
lea eax, [esp + 0x34]
push eax
jmp 0x44a8c5
cmp dword [eax - 8], ebx
je 0x44a8cd
lea ecx, [esp + 0x18]
push ecx
lea ecx, [edi + 8]
call fcn.00512a1d
lea ecx, [esp + 0x164]
mov byte [esp + 0x1b0], 0x39
call fcn.00510e5f
lea ecx, [esp + 0x180]
mov byte [esp + 0x1b0], 0x38
call fcn.00510e5f
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b0], 0x37
call fcn.005128e4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1b0], 0x36
call fcn.005128e4
lea ecx, [esp + 0x20]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
cmp dword [esp + 0x28], ebx
jne 0x44a441
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], ebp
mov esi, dword [ebp + 0x844]
cmp esi, ebx
je 0x44a97c
mov eax, esi
mov esi, dword [esi]
mov edi, dword [eax + 8]
mov edx, dword [edi + 4]
lea eax, [edi + 4]
cmp dword [edx - 8], ebx
je 0x44a978
cmp dword [edi + 0xa8], ebx
jne 0x44a978
push ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.00402c50
cmp eax, 0xfffffff4
jne 0x44a978
mov dword [edi + 0xa8], 1
cmp esi, ebx
jne 0x44a944
mov eax, dword [ebp + 0x844]
mov dword [esp + 0x15c], ebp
cmp eax, ebx
je 0x44ab69
mov ecx, dword [0x5ab980]
mov dword [esp + 0x18], ecx
mov edx, dword [eax]
mov eax, dword [eax + 8]
mov byte [esp + 0x1b0], 0x40
mov dword [esp + 0x10], ebx
mov ebp, dword [eax + 0x2c]
mov dword [esp + 0x24], ebx
cmp ebp, ebx
mov dword [esp + 0x28], edx
je 0x44ab4a
mov eax, ebp
mov ebp, dword [ebp]
mov edi, dword [eax + 8]
cmp dword [edi + 4], 0x65
jne 0x44aae8
lea eax, [edi + 0xc]
lea ecx, [esp + 0x18]
push eax
call fcn.00512a1d
lea ecx, [esp + 0x18]
call fcn.00512e18
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0xb8]
push eax
push ecx
lea ecx, [edx + 0x7a8]
call fcn.00512044
test eax, eax
jne 0x44ab4a
push str.uninst
lea ecx, [esp + 0x1c]
mov ebx, 1
call fcn.0050e341
test eax, eax
jge 0x44aae8
mov eax, dword [esp + 0x18]
push str.unwise
push eax
call fcn.00422ad0
add esp, 8
test eax, eax
jne 0x44aae8
mov ecx, dword [esp + 0x18]
push str.unvise
push ecx
call fcn.00422ad0
add esp, 8
test eax, eax
jne 0x44aae8
mov eax, dword [esp + 0x18]
mov esi, str.setup.exe
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x44aa87
test cl, cl
je 0x44aa83
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x44aa87
add eax, 2
add esi, 2
test cl, cl
jne 0x44aa63
xor eax, eax
jmp 0x44aa8c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x44aae8
lea eax, [edi + 8]
push 0
push eax
lea ecx, [esp + 0x164]
call fcn.00402c50
cmp eax, 0x64
jl 0x44aae8
mov eax, dword [edi + 0xc]
mov ecx, dword [esp + 0x1c]
lea esi, [edi + 0xc]
push eax
add ecx, 0x85c
call fcn.00444d30
test eax, eax
je 0x44aac6
mov ebx, 0xb
push esi
lea ecx, [esp + 0x118]
call fcn.00404b90
test eax, eax
je 0x44aada
add ebx, 5
cmp ebx, dword [esp + 0x24]
jle 0x44aae8
mov dword [esp + 0x10], edi
mov dword [esp + 0x24], ebx
test ebp, ebp
jne 0x44a9bf
mov eax, dword [esp + 0x24]
test eax, eax
jl 0x44ab4a
mov eax, dword [esp + 0x10]
test eax, eax
je 0x44ab4a
cmp dword [esp + 0x24], 5
jl 0x44ab4a
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x14]
lea esi, [eax + 0xc]
add eax, 8
push esi
push eax
push edx
call fcn.00512b13
mov ecx, dword [esp + 0x1c]
push ebp
push esi
push eax
lea eax, [esp + 0x120]
mov byte [esp + 0x1bc], 0x41
push eax
call fcn.00449220
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], 0x40
call fcn.005128e4
lea ecx, [esp + 0x18]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
mov eax, dword [esp + 0x28]
xor ebx, ebx
cmp eax, ebx
jne 0x44a991
call fcn.0052bb7d
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x44b348
push 0
push str.DumpInfo
push str.Debug
mov ecx, eax
call fcn.0052c402
test eax, eax
je 0x44b348
mov ecx, dword [0x56ac94]
push ecx
push 2
push str.c:x_InstallerEntries.xls
lea ecx, [esp + 0xc8]
call fcn.005096df
mov edx, dword [esp + 0xbc]
or edi, 0xffffffff
mov eax, dword [edx + 4]
mov eax, dword [esp + eax + 0xc0]
cmp dword [eax + 0x4c], edi
je 0x44ac83
lea ecx, [esp + 0x14]
push ecx
call fcn.00413c50
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0xbc]
push eax
mov byte [esp + 0x1b4], 0x42
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
mov esi, dword [esp + 0x13c]
test esi, esi
je 0x44ac75
mov bl, 0x43
mov eax, esi
mov esi, dword [esi]
lea edx, [esp + 0x14]
mov eax, dword [eax + 8]
push edx
mov ecx, eax
call fcn.00413d10
mov eax, dword [eax]
lea ecx, [esp + 0xbc]
push eax
mov byte [esp + 0x1b4], bl
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
test esi, esi
jne 0x44ac22
lea ecx, [esp + 0xbc]
call fcn.00509721
jmp 0x44ac91
push 0
push 0
push str.Close_file_c:x_InstallerEntries.xls
call fcn.00520303
mov eax, dword [0x56ac94]
lea ecx, [esp + 0xbc]
push eax
push 2
push str.c:x_InstallerRegEntries.xls
call fcn.005096df
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + edx + 0xc0]
cmp dword [eax + 0x4c], edi
je 0x44aec4
push str.Installer_Registry_Entries
lea ecx, [esp + 0xc0]
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov ebp, dword [esp + 0x13c]
test ebp, ebp
je 0x44aeb3
mov bl, 0x44
mov eax, dword [0x5ab980]
mov dword [esp + 0x10], eax
mov eax, ebp
mov ebp, dword [ebp]
push 0x44b450
push 0xa
mov edi, dword [eax + 8]
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b8], bl
call fcn.00509754
mov ecx, eax
call fcn.0044b430
lea ecx, [esp + 0x14]
push ecx
mov ecx, edi
call fcn.00413b10
mov edx, dword [edi + 0xa8]
mov eax, dword [eax]
mov ecx, dword [edi + 0xc]
push edx
push eax
push ecx
lea edx, [esp + 0x1c]
push str._s___s__Log_s
push edx
mov byte [esp + 0x1c4], 0x45
call fcn.0050e6c7
add esp, 0x14
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], bl
call fcn.005128e4
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xbc]
push eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
push str._tRegKeys
lea ecx, [esp + 0xc0]
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x44ae00
mov eax, esi
mov esi, dword [esi]
lea ecx, [esp + 0xbc]
mov eax, dword [eax + 8]
mov eax, dword [eax + 8]
push eax
push 0x59bf04
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
test esi, esi
jne 0x44adc4
push str._n_tRegValues
lea ecx, [esp + 0xc0]
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov esi, dword [edi + 0x38]
test esi, esi
je 0x44ae9a
mov eax, esi
mov esi, dword [esi]
lea ecx, [esp + 0xbc]
mov edi, dword [eax + 8]
mov eax, dword [edi + 8]
push eax
push 0x59bf04
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov edi, dword [edi + 0xc]
lea ecx, [esp + 0xbc]
push edi
push 0x59bef4
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
test esi, esi
jne 0x44ae2d
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
test ebp, ebp
jne 0x44acfb
lea ecx, [esp + 0xbc]
call fcn.00509721
or edi, 0xffffffff
jmp 0x44aed2
push 0
push 0
push str.Close_file_c:x_InstallerRegEntries.xls
call fcn.00520303
mov ecx, dword [0x56ac94]
push ecx
push 2
push str.c:x_InstallerFileEntries.xls
lea ecx, [esp + 0xc8]
call fcn.005096df
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + 4]
mov eax, dword [esp + eax + 0xc0]
cmp dword [eax + 0x4c], edi
je 0x44b1ec
push str.Installer_File_Entries
lea ecx, [esp + 0xc0]
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov eax, dword [esp + 0x13c]
test eax, eax
mov ebp, eax
je 0x44b1de
mov ebx, 0x1e
mov ecx, dword [0x5ab980]
mov dword [esp + 0x10], ecx
mov eax, ebp
mov ebp, dword [ebp]
push 0x44b450
push 0xa
mov esi, dword [eax + 8]
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b8], 0x46
call fcn.00509754
mov ecx, eax
call fcn.0044b430
lea edx, [esp + 0x14]
mov ecx, esi
push edx
call fcn.00413b10
mov eax, dword [eax]
mov ecx, dword [esi + 0xc]
push eax
push ecx
lea edx, [esp + 0x18]
push str._s___s_
push edx
mov byte [esp + 0x1c0], 0x47
call fcn.0050e6c7
add esp, 0x10
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], 0x46
call fcn.005128e4
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xbc]
push eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
cmp dword [esi + 4], ebx
jne 0x44b021
mov eax, dword [esi + 0x170]
lea ecx, [esp + 0xbc]
push eax
push str._tMsiPackage
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov eax, dword [esi + 0x174]
push eax
push str._tAltDirHint
jmp 0x44b02d
mov eax, dword [esi + 0xa8]
push eax
push str._tLogFile
lea ecx, [esp + 0xc4]
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
push str._tDirectories
lea ecx, [esp + 0xc0]
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov eax, dword [esi + 0xb0]
lea ecx, [esp + 0xbc]
push eax
push str._tMain:
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
cmp dword [esi + 4], ebx
jne 0x44b0e8
mov eax, dword [esi + 0x174]
lea ecx, [esp + 0xbc]
push eax
push str._tAlt:
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov edi, dword [esi + 0x70]
test edi, edi
je 0x44b142
mov eax, edi
mov edi, dword [edi]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 8]
push ecx
mov ecx, dword [eax + 0x14]
push 0x598cc8
push ecx
push 0x59bf04
lea ecx, [esp + 0xcc]
call fcn.00509916
mov ecx, eax
call fcn.00509549
mov ecx, eax
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
test edi, edi
jne 0x44b0ef
push str._tFiles
lea ecx, [esp + 0xc0]
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
mov esi, dword [esi + 0x54]
test esi, esi
je 0x44b1c2
mov eax, esi
mov esi, dword [esi]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
push ecx
push 0x598474
push eax
push 0x59bf04
lea ecx, [esp + 0xcc]
call fcn.00509916
mov ecx, eax
call fcn.00509916
mov ecx, eax
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
test esi, esi
jne 0x44b16f
lea ecx, [esp + 0x10]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
test ebp, ebp
jne 0x44af42
or edi, 0xffffffff
lea ecx, [esp + 0xbc]
call fcn.00509721
jmp 0x44b1fa
push 0
push 0
push str.Close_file_c:x_InstallerFileEntries.xls
call fcn.00520303
mov edx, dword [0x56ac94]
lea ecx, [esp + 0xbc]
push edx
push 2
push str.c:x_MenuEntries.xls
call fcn.005096df
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 4]
mov eax, dword [esp + ecx + 0xc0]
cmp dword [eax + 0x4c], edi
je 0x44b33a
lea edx, [esp + 0x14]
push edx
call fcn.004049a0
add esp, 4
mov eax, dword [eax]
lea ecx, [esp + 0xbc]
push eax
push str.DirEXE_tDirWD_t
mov byte [esp + 0x1b8], 0x48
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
mov esi, dword [esp + 0x118]
test esi, esi
je 0x44b348
mov bl, 0x49
mov eax, esi
mov esi, dword [esi]
mov edi, dword [eax + 8]
lea eax, [esp + 0x14]
push eax
mov ecx, edi
call fcn.00404a40
mov eax, dword [eax]
lea ecx, [edi + 0x18]
push eax
push 0x598cc8
push 0
push ecx
lea ecx, [esp + 0x140]
mov byte [esp + 0x1c0], bl
call fcn.00402c50
push eax
push 0x598cc8
add edi, 0x20
push 0
push edi
lea ecx, [esp + 0x148]
call fcn.00402c50
push eax
lea ecx, [esp + 0xd0]
call fcn.00509498
mov ecx, eax
call fcn.00509916
mov ecx, eax
call fcn.00509498
mov ecx, eax
call fcn.00509916
mov ecx, eax
call fcn.00509916
push 0x44b450
push 0xa
mov ecx, eax
call fcn.00509754
mov ecx, eax
call fcn.0044b430
lea ecx, [esp + 0x14]
mov byte [esp + 0x1b0], 4
call fcn.005128e4
test esi, esi
jne 0x44b295
jmp 0x44b348
push 0
push 0
push str.Close_file_c:x_MenuEntries.xls
call fcn.00520303
lea ecx, [esp + 0x98]
mov byte [esp + 0x1b0], 0x4b
call fcn.005128e4
lea ecx, [esp + 0x94]
mov byte [esp + 0x1b0], 0x4a
call fcn.005128e4
lea ecx, [esp + 0x90]
mov byte [esp + 0x1b0], 3
call fcn.005128e4
lea ecx, [esp + 0x5c]
mov byte [esp + 0x1b0], 0x4d
call fcn.005128e4
lea ecx, [esp + 0x58]
mov byte [esp + 0x1b0], 0x4c
call fcn.005128e4
lea ecx, [esp + 0x54]
mov byte [esp + 0x1b0], 2
call fcn.005128e4
lea ecx, [esp + 0xc4]
mov byte [esp + 0x1b0], 1
call fcn.0050969e
lea ecx, [esp + 0xc4]
call fcn.00509fd0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1b0], 0
call fcn.00404b30
lea ecx, [esp + 0x138]
mov dword [esp + 0x1b0], 0xffffffff
call fcn.004146b0
mov eax, 1
mov ecx, dword [esp + 0x1a8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x1a4
ret 8