Function at 0x40ad20
Capabilities:
Check if file exists
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a87fb
mov eax, dword fs:[0]
push eax
mov eax, 0x4918
call fcn.004894c0
mov eax, dword [0x4e412c]
xor eax, ebp
mov dword [ebp - 0x34], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x47fc], ecx
mov dword [ebp - 0x854], 1
mov dword [ebp - 0x84c], 1
mov dword [ebp - 0x2858], 0
lea eax, [ebp - 0x83c]
push eax
call fcn.00403550
add esp, 4
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x83c]
call fcn.004014f0
xor ecx, ecx
test eax, eax
setg cl
mov dword [ebp - 0x84c], ecx
mov ecx, 0x5376f0
call fcn.004119c0
push eax
lea ecx, [ebp - 0x848]
call fcn.00403ae0
mov byte [ebp - 4], 1
push 0x5c
lea ecx, [ebp - 0x848]
call fcn.00412010
cmp dword [ebp - 0x84c], 0
je 0x40adee
lea ecx, [ebp - 0x848]
call fcn.004014f0
test eax, eax
jle 0x40adee
mov dword [ebp - 0x4800], 1
jmp 0x40adf8
mov dword [ebp - 0x4800], 0
mov edx, dword [ebp - 0x4800]
mov dword [ebp - 0x84c], edx
lea ecx, [ebp - 0x83c]
call fcn.004014f0
cmp dword [ebp - 0x84c], 0
je 0x40af52
mov ecx, 0x5376f0
call fcn.004119c0
push eax
push 0x4b28ac
lea ecx, [ebp - 0x473c]
call fcn.00403ae0
mov dword [ebp - 0x4804], eax
mov eax, dword [ebp - 0x4804]
mov dword [ebp - 0x4808], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x4808]
push ecx
lea edx, [ebp - 0x4740]
push edx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x480c], eax
mov eax, dword [ebp - 0x480c]
mov dword [ebp - 0x4810], eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x4810]
push ecx
lea ecx, [ebp - 0x83c]
call fcn.00411d60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4740]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x473c]
call fcn.00412630
push 0x4b28b0
push 1
lea edx, [ebp - 0x4748]
push edx
lea ecx, [ebp - 0x83c]
call fcn.00412240
mov dword [ebp - 0x4814], eax
mov eax, dword [ebp - 0x4814]
push eax
call fcn.004125b0
add esp, 8
mov byte [ebp - 0x4741], al
lea ecx, [ebp - 0x4748]
call fcn.00412630
movzx ecx, byte [ebp - 0x4741]
test ecx, ecx
je 0x40af03
push 0x4b28b4
lea ecx, [ebp - 0x83c]
call fcn.00403740
lea ecx, [ebp - 0x83c]
call fcn.00401510
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x2858], eax
cmp dword [ebp - 0x2858], 0
je 0x40af3e
cmp dword [0x5376bc], 1
je 0x40af3e
push 0
lea edx, [ebp - 0x83c]
push edx
call fcn.00403160
add esp, 8
lea ecx, [ebp - 0x83c]
call fcn.00401510
push eax
call fcn.004034b0
add esp, 4
mov ecx, 0x5376f0
call fcn.00410800
push eax
lea ecx, [ebp - 0x844]
call fcn.00403ae0
mov byte [ebp - 4], 4
cmp dword [ebp - 0x84c], 0
je 0x40b10c
push 0x4b294c
call fcn.004119e0
push eax
lea ecx, [ebp - 0x844]
call fcn.00411d80
cmp eax, 1
jne 0x40b10c
push 0
lea ecx, [ebp - 0x844]
call fcn.00403860
movzx eax, ax
cmp eax, 0x5c
jne 0x40aff8
push 1
lea ecx, [ebp - 0x474c]
push ecx
lea ecx, [ebp - 0x844]
call fcn.00412200
mov dword [ebp - 0x4818], eax
mov edx, dword [ebp - 0x4818]
mov dword [ebp - 0x481c], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x481c]
push eax
lea ecx, [ebp - 0x844]
call fcn.004014b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x474c]
call fcn.00412630
call fcn.004119e0
push eax
lea ecx, [ebp - 0x4750]
call fcn.00403ae0
mov byte [ebp - 4], 6
push 0
lea ecx, [ebp - 0x83c]
push ecx
lea edx, [ebp - 0x4750]
push edx
call fcn.00401e60
add esp, 0xc
mov dword [ebp - 0x84c], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4750]
call fcn.00412630
cmp dword [ebp - 0x84c], 0
je 0x40b0ed
mov eax, dword [ebp - 0x47fc]
movzx ecx, byte [eax + 0x1af4]
test ecx, ecx
je 0x40b0ed
mov ecx, dword [ebp - 0x47fc]
call fcn.0040f9e0
mov ecx, eax
call fcn.00419b60
push eax
lea ecx, [ebp - 0x4758]
call fcn.00403ae0
mov byte [ebp - 4], 7
push 1
lea edx, [ebp - 0x844]
push edx
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x4754]
push ecx
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x4820], eax
mov edx, dword [ebp - 0x4820]
mov dword [ebp - 0x4824], edx
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x4824]
push eax
lea ecx, [ebp - 0x4758]
push ecx
call fcn.00401e60
add esp, 0xc
mov dword [ebp - 0x84c], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4754]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4758]
call fcn.00412630
cmp dword [ebp - 0x84c], 0
je 0x40b102
mov dword [ebp - 0x4828], 0x4b29a8
jmp 0x40b10c
mov dword [ebp - 0x4828], 0x4b29bc
cmp dword [ebp - 0x84c], 0
je 0x40b458
lea ecx, [ebp - 0x35bc]
call fcn.0040fa60
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x47fc]
add ecx, 0x1ac4
call fcn.00413130
mov dword [ebp - 0x286c], eax
cmp dword [ebp - 0x286c], 0
je 0x40b449
lea edx, [ebp - 0x286c]
push edx
mov ecx, dword [ebp - 0x47fc]
add ecx, 0x1ac4
call fcn.004458c0
push eax
lea ecx, [ebp - 0x35bc]
call fcn.00410df0
lea ecx, [ebp - 0x35bc]
call fcn.00419c80
push eax
push 0x5c
lea ecx, [ebp - 0x35bc]
call fcn.00419b60
push eax
lea ecx, [ebp - 0x475c]
call fcn.00403ae0
mov dword [ebp - 0x482c], eax
mov eax, dword [ebp - 0x482c]
mov dword [ebp - 0x4830], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x4830]
push ecx
lea edx, [ebp - 0x4760]
push edx
call fcn.00412430
add esp, 0xc
mov dword [ebp - 0x4834], eax
mov eax, dword [ebp - 0x4834]
mov dword [ebp - 0x4838], eax
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x4838]
push ecx
lea edx, [ebp - 0x35c0]
push edx
call fcn.004037b0
add esp, 0xc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4760]
call fcn.00412630
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x475c]
call fcn.00412630
mov eax, dword [ebp - 0x47fc]
movzx ecx, byte [eax + 0x1af4]
test ecx, ecx
je 0x40b236
push 1
lea ecx, [ebp - 0x35bc]
call fcn.00419bb0
add eax, 0xb8
mov dword [ebp - 0x483c], eax
jmp 0x40b240
mov dword [ebp - 0x483c], 0x4b2a34
lea ecx, [ebp - 0x35bc]
call fcn.00419c80
push eax
mov edx, dword [ebp - 0x483c]
push edx
push 0x5c
lea eax, [ebp - 0x844]
push eax
lea ecx, [ebp - 0x83c]
push ecx
lea edx, [ebp - 0x4764]
push edx
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x4840], eax
mov eax, dword [ebp - 0x4840]
mov dword [ebp - 0x4844], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x4844]
push ecx
lea edx, [ebp - 0x4768]
push edx
call fcn.00412430
add esp, 0xc
mov dword [ebp - 0x4848], eax
mov eax, dword [ebp - 0x4848]
mov dword [ebp - 0x484c], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x484c]
push ecx
lea edx, [ebp - 0x476c]
push edx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x4850], eax
mov eax, dword [ebp - 0x4850]
mov dword [ebp - 0x4854], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x4854]
push ecx
lea edx, [ebp - 0x35cc]
push edx
call fcn.004037b0
add esp, 0xc
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x476c]
call fcn.00412630
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x4768]
call fcn.00412630
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x4764]
call fcn.00412630
lea ecx, [ebp - 0x35cc]
call fcn.00401510
push eax
call dword [0x4e56a0]
mov dword [ebp - 0x35c4], eax
cmp dword [ebp - 0x35c4], 0xffffffff
je 0x40b376
mov eax, dword [ebp - 0x35c4]
and eax, 0xfffffffe
mov dword [ebp - 0x35c4], eax
mov ecx, dword [ebp - 0x35c4]
push ecx
lea ecx, [ebp - 0x35cc]
call fcn.00401510
push eax
call dword [0x4e5718]
test eax, eax
jne 0x40b376
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 0
lea ecx, [ebp - 0x35cc]
call fcn.00401510
push eax
lea ecx, [ebp - 0x35c0]
call fcn.00401510
push eax
call dword [0x4e5658]
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
je 0x40b3b1
mov dword [ebp - 0x4858], 0x4b2b30
jmp 0x40b3bb
mov dword [ebp - 0x4858], 0x4b2b44
lea ecx, [ebp - 0x35cc]
call fcn.00401510
push eax
call dword [0x4e56a0]
mov dword [ebp - 0x35c8], eax
cmp dword [ebp - 0x35c8], 0xffffffff
je 0x40b41a
mov edx, dword [ebp - 0x35c8]
and edx, 0xfffffffe
mov dword [ebp - 0x35c8], edx
mov eax, dword [ebp - 0x35c8]
push eax
lea ecx, [ebp - 0x35cc]
call fcn.00401510
push eax
call dword [0x4e5718]
test eax, eax
jne 0x40b418
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x84c], 0
jmp 0x40b42a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x84c], 0
lea ecx, [ebp - 0x35cc]
call fcn.00412630
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x35c0]
call fcn.00412630
jmp 0x40b13f
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35bc]
call fcn.0040fd40
cmp dword [ebp - 0x84c], 0
je 0x40be02
mov dword [ebp - 0x35d0], 0
jmp 0x40b480
mov ecx, dword [ebp - 0x35d0]
add ecx, 1
mov dword [ebp - 0x35d0], ecx
cmp dword [ebp - 0x84c], 0
je 0x40be02
mov edx, dword [ebp - 0x35d0]
cmp edx, dword [0x4c26a8]
jge 0x40be02
call fcn.004141f0
cmp dword [eax + 0xac], 0
je 0x40b4cb
mov eax, dword [ebp - 0x35d0]
push eax
mov ecx, 0x532bd8
call fcn.00411aa0
mov ecx, eax
call fcn.0044e290
test eax, eax
je 0x40b4cb
jmp 0x40b501
mov ecx, dword [ebp - 0x35d0]
push ecx
mov ecx, 0x532bd8
call fcn.00411aa0
mov ecx, eax
call fcn.0044e290
test eax, eax
jne 0x40b4e9
jmp 0x40b471
mov edx, dword [ebp - 0x35d0]
push edx
mov ecx, 0x532bd8
call fcn.00411aa0
mov ecx, eax
call fcn.00410c50
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x35dc]
call fcn.00403ac0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x35d0]
push ecx
mov ecx, 0x532bd8
call fcn.00411aa0
mov ecx, eax
call fcn.00411a60
mov dword [ebp - 0x35d8], eax
cmp dword [ebp - 0x35d8], 0
je 0x40b9e3
mov edx, dword [ebp - 0x35d8]
add edx, 0x2804
push edx
lea ecx, [ebp - 0x37f0]
call fcn.00414220
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x47fc]
movzx ecx, byte [eax + 0x1af4]
test ecx, ecx
jne 0x40b5f3
push 0x4b2cd0
call fcn.004119e0
push eax
lea ecx, [ebp - 0x37f0]
call fcn.00411d80
cmp eax, 1
jne 0x40b5ee
push 0
lea ecx, [ebp - 0x37f0]
call fcn.00403860
movzx edx, ax
cmp edx, 0x5c
jne 0x40b5ee
push 1
lea eax, [ebp - 0x4770]
push eax
lea ecx, [ebp - 0x37f0]
call fcn.00412200
mov dword [ebp - 0x485c], eax
mov ecx, dword [ebp - 0x485c]
mov dword [ebp - 0x4860], ecx
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x4860]
push edx
lea ecx, [ebp - 0x37f0]
call fcn.004014b0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x4770]
call fcn.00412630
jmp 0x40b73d
mov ecx, 0x5376f0
call fcn.00410800
push eax
lea ecx, [ebp - 0x37f4]
call fcn.00403ae0
mov byte [ebp - 4], 0x15
push 0x4b2cd4
mov ecx, dword [ebp - 0x47fc]
call fcn.0040f9e0
mov ecx, eax
call fcn.00419b60
push eax
lea ecx, [ebp - 0x37f0]
call fcn.00411d80
cmp eax, 1
jne 0x40b72e
push 0x4b2cd8
call fcn.004119e0
push eax
lea ecx, [ebp - 0x37f4]
call fcn.00411d80
cmp eax, 1
jne 0x40b72e
push 0
lea ecx, [ebp - 0x37f0]
call fcn.00403860
movzx eax, ax
cmp eax, 0x5c
je 0x40b6bc
lea ecx, [ebp - 0x37f0]
push ecx
push 0x5c
lea edx, [ebp - 0x4774]
push edx
call fcn.004124e0
add esp, 0xc
mov dword [ebp - 0x4864], eax
mov eax, dword [ebp - 0x4864]
mov dword [ebp - 0x4868], eax
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x4868]
push ecx
lea ecx, [ebp - 0x37f0]
call fcn.004014b0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x4774]
call fcn.00412630
push 0
lea ecx, [ebp - 0x37f4]
call fcn.00403860
movzx edx, ax
cmp edx, 0x5c
jne 0x40b71c
push 1
lea eax, [ebp - 0x4778]
push eax
lea ecx, [ebp - 0x37f4]
call fcn.00412200
mov dword [ebp - 0x486c], eax
mov ecx, dword [ebp - 0x486c]
mov dword [ebp - 0x4870], ecx
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x4870]
push edx
lea ecx, [ebp - 0x37f4]
call fcn.004014b0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x4778]
call fcn.00412630
lea eax, [ebp - 0x37f4]
push eax
lea ecx, [ebp - 0x35dc]
call fcn.00411d60
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x37f4]
call fcn.00412630
lea ecx, [ebp - 0x37f0]
push ecx
lea edx, [ebp - 0x35dc]
push edx
lea eax, [ebp - 0x477c]
push eax
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x4874], eax
mov ecx, dword [ebp - 0x4874]
mov dword [ebp - 0x4878], ecx
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x4878]
push edx
lea ecx, [ebp - 0x37f0]
call fcn.004014b0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x477c]
call fcn.00412630
lea ecx, [ebp - 0x37f0]
call fcn.00401510
push eax
call dword [0x4e56a0]
mov dword [ebp - 0x35e0], eax
cmp dword [ebp - 0x35e0], 0xffffffff
je 0x40b84b
mov eax, dword [ebp - 0x35e0]
and eax, 0xfffffffe
mov dword [ebp - 0x35e0], eax
mov ecx, dword [ebp - 0x35e0]
push ecx
lea ecx, [ebp - 0x37f0]
call fcn.00401510
push eax
call dword [0x4e5718]
test eax, eax
jne 0x40b84b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4780], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x37f0]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35dc]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x4780]
jmp 0x40ccb0
push 0x208
lea edx, [ebp - 0x37ec]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x35d8]
add eax, 0x2804
push eax
push 0
push 0
call dword [0x4e5704]
push 0
lea ecx, [ebp - 0x37f0]
call fcn.00401510
push eax
lea ecx, [ebp - 0x37ec]
push ecx
call dword [0x4e5658]
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
je 0x40b8a5
mov dword [ebp - 0x487c], 0x4b2ddc
jmp 0x40b8af
mov dword [ebp - 0x487c], 0x4b2df0
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x37f0]
call fcn.00401510
push eax
call dword [0x4e56a0]
mov dword [ebp - 0x35e4], eax
cmp dword [ebp - 0x35e4], 0xffffffff
jne 0x40b93f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4784], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x37f0]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35dc]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x4784]
jmp 0x40ccb0
mov edx, dword [ebp - 0x35e4]
and edx, 0xfffffffe
mov dword [ebp - 0x35e4], edx
mov eax, dword [ebp - 0x35e4]
push eax
lea ecx, [ebp - 0x37f0]
call fcn.00401510
push eax
call dword [0x4e5718]
test eax, eax
jne 0x40b9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4788], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x37f0]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35dc]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x4788]
jmp 0x40ccb0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x37f0]
call fcn.00412630
mov ecx, dword [ebp - 0x35d0]
push ecx
mov ecx, 0x532bd8
call fcn.00411aa0
mov ecx, eax
call fcn.00411a80
mov dword [ebp - 0x35d4], eax
mov dword [ebp - 0x37f8], 0
jmp 0x40ba1c
mov edx, dword [ebp - 0x37f8]
add edx, 1
mov dword [ebp - 0x37f8], edx
cmp dword [ebp - 0x35d4], 0
je 0x40bdee
cmp dword [ebp - 0x84c], 0
je 0x40bdee
mov eax, dword [ebp - 0x37f8]
imul eax, eax, 0x297c
mov ecx, dword [ebp - 0x35d4]
cmp dword [ecx + eax + 0x2974], 0
je 0x40bdee
mov edx, dword [ebp - 0x37f8]
imul edx, edx, 0x297c
mov eax, dword [ebp - 0x35d4]
lea ecx, [eax + edx + 0x2804]
push ecx
lea ecx, [ebp - 0x3a10]
call fcn.00414220
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x47fc]
movzx eax, byte [edx + 0x1af4]
test eax, eax
jne 0x40ba9d
call fcn.004119e0
mov dword [ebp - 0x4880], eax
jmp 0x40bab5
mov ecx, dword [ebp - 0x47fc]
call fcn.0040f9e0
mov ecx, eax
call fcn.00419b60
mov dword [ebp - 0x4880], eax
push 0x4b2ee0
mov ecx, dword [ebp - 0x4880]
push ecx
lea ecx, [ebp - 0x3a10]
call fcn.00411d80
cmp eax, 1
jne 0x40bb35
push 0
lea ecx, [ebp - 0x3a10]
call fcn.00403860
movzx edx, ax
cmp edx, 0x5c
je 0x40bb35
lea eax, [ebp - 0x3a10]
push eax
push 0x5c
lea ecx, [ebp - 0x478c]
push ecx
call fcn.004124e0
add esp, 0xc
mov dword [ebp - 0x4884], eax
mov edx, dword [ebp - 0x4884]
mov dword [ebp - 0x4888], edx
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x4888]
push eax
lea ecx, [ebp - 0x3a10]
call fcn.004014b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x478c]
call fcn.00412630
lea ecx, [ebp - 0x3a10]
push ecx
lea edx, [ebp - 0x35dc]
push edx
lea eax, [ebp - 0x4790]
push eax
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x488c], eax
mov ecx, dword [ebp - 0x488c]
mov dword [ebp - 0x4890], ecx
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x4890]
push edx
lea ecx, [ebp - 0x3a10]
call fcn.004014b0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x4790]
call fcn.00412630
lea ecx, [ebp - 0x3a10]
call fcn.00401510
push eax
call dword [0x4e56a0]
mov dword [ebp - 0x37fc], eax
cmp dword [ebp - 0x37fc], 0xffffffff
je 0x40bc43
mov eax, dword [ebp - 0x37fc]
and eax, 0xfffffffe
mov dword [ebp - 0x37fc], eax
mov ecx, dword [ebp - 0x37fc]
push ecx
lea ecx, [ebp - 0x3a10]
call fcn.00401510
push eax
call dword [0x4e5718]
test eax, eax
jne 0x40bc43
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4794], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a10]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35dc]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x4794]
jmp 0x40ccb0
push 0x208
lea edx, [ebp - 0x3a0c]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x37f8]
imul eax, eax, 0x297c
mov ecx, dword [ebp - 0x35d4]
lea edx, [ecx + eax + 0x2804]
push edx
push 0
push 0
call dword [0x4e5704]
lea ecx, [ebp - 0x3a10]
call fcn.00401510
push eax
lea eax, [ebp - 0x3a0c]
push eax
call fcn.0040ccd0
add esp, 8
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
je 0x40bcab
mov dword [ebp - 0x4894], 0x4b2fe8
jmp 0x40bcb5
mov dword [ebp - 0x4894], 0x4b2ffc
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x3a10]
call fcn.00401510
push eax
call dword [0x4e56a0]
mov dword [ebp - 0x3800], eax
cmp dword [ebp - 0x3800], 0xffffffff
jne 0x40bd45
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x4798], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a10]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35dc]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x4798]
jmp 0x40ccb0
mov ecx, dword [ebp - 0x3800]
and ecx, 0xfffffffe
mov dword [ebp - 0x3800], ecx
mov edx, dword [ebp - 0x3800]
push edx
lea ecx, [ebp - 0x3a10]
call fcn.00401510
push eax
call dword [0x4e5718]
test eax, eax
jne 0x40bdda
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x479c], 0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a10]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35dc]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x479c]
jmp 0x40ccb0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x3a10]
call fcn.00412630
jmp 0x40ba0d
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x35dc]
call fcn.00412630
jmp 0x40b471
cmp dword [ebp - 0x84c], 0
je 0x40c1b4
call fcn.004119e0
push eax
lea ecx, [ebp - 0x47a0]
call fcn.00403ae0
mov byte [ebp - 4], 0x1c
push 0
push 0x5376d0
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x47a0]
push ecx
call fcn.00402d30
add esp, 0x10
mov dword [ebp - 0x84c], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x47a0]
call fcn.00412630
push 0x4b30dc
lea ecx, [ebp - 0x3a38]
call fcn.00403ae0
mov byte [ebp - 4], 0x1d
push 0x4b30e4
lea ecx, [ebp - 0x3a34]
call fcn.00403ae0
mov byte [ebp - 4], 0x1e
push 0x4b30ec
lea ecx, [ebp - 0x3a30]
call fcn.00403ae0
mov byte [ebp - 4], 0x1f
push fcn.00412630
push fcn.00412610
push 1
push 4
lea edx, [ebp - 0x3a2c]
push edx
call fcn.0048951d
mov byte [ebp - 4], 0x20
push 0x4b30f4
lea ecx, [ebp - 0x3a28]
call fcn.00403ae0
mov byte [ebp - 4], 0x21
push fcn.00412630
push fcn.00412610
push 1
push 4
lea eax, [ebp - 0x3a24]
push eax
call fcn.0048951d
mov byte [ebp - 4], 0x22
push 0x4b30fc
lea ecx, [ebp - 0x3a20]
call fcn.00403ae0
mov byte [ebp - 4], 0x23
push 0x4b3104
lea ecx, [ebp - 0x3a1c]
call fcn.00403ae0
mov byte [ebp - 4], 0x24
push 0x4b310c
lea ecx, [ebp - 0x3a18]
call fcn.00403ae0
mov byte [ebp - 4], 0x25
push 0x4b3114
lea ecx, [ebp - 0x3a14]
call fcn.00403ae0
mov byte [ebp - 4], 0x26
mov ecx, 0x5376f0
call fcn.00411980
push eax
lea ecx, [ebp - 0x3a4c]
call fcn.00403ae0
mov byte [ebp - 4], 0x27
mov ecx, 0x5376f0
call fcn.004119a0
push eax
lea ecx, [ebp - 0x3a48]
call fcn.00403ae0
mov byte [ebp - 4], 0x28
mov ecx, 0x5376f0
call fcn.00411830
push eax
lea ecx, [ebp - 0x3a44]
call fcn.00403ae0
mov byte [ebp - 4], 0x29
mov ecx, 0x5376f0
call fcn.00411a00
push eax
lea ecx, [ebp - 0x3a40]
call fcn.00403ae0
mov byte [ebp - 4], 0x2a
mov ecx, 0x5376f0
call fcn.00411960
push eax
lea ecx, [ebp - 0x3a3c]
call fcn.00403ae0
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x3a50], 0
jmp 0x40bfcf
mov ecx, dword [ebp - 0x3a50]
add ecx, 1
mov dword [ebp - 0x3a50], ecx
cmp dword [ebp - 0x84c], 0
je 0x40c15e
cmp dword [ebp - 0x3a50], 5
jge 0x40c15e
mov edx, dword [ebp - 0x3a50]
lea eax, [ebp + edx*4 - 0x3a4c]
push eax
call fcn.004119e0
push eax
call fcn.00412590
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x40c00e
jmp 0x40bfc0
push 0x5c
mov edx, dword [ebp - 0x3a50]
lea ecx, [ebp + edx*4 - 0x3a4c]
call fcn.004121b0
push eax
lea eax, [ebp - 0x47a4]
push eax
mov ecx, dword [ebp - 0x3a50]
lea ecx, [ebp + ecx*4 - 0x3a4c]
call fcn.00412200
mov dword [ebp - 0x4898], eax
mov edx, dword [ebp - 0x4898]
mov dword [ebp - 0x489c], edx
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x489c]
push eax
mov ecx, dword [ebp - 0x3a50]
lea ecx, [ebp + ecx*4 - 0x3a4c]
call fcn.004014b0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x47a4]
call fcn.00412630
mov edx, dword [ebp - 0x3a50]
lea ecx, [ebp + edx*4 - 0x3a4c]
call fcn.004014f0
test eax, eax
jg 0x40c095
jmp 0x40bfc0
push 0
push 0x5376d0
push 2
mov eax, dword [ebp - 0x3a50]
lea ecx, [ebp + eax*8 - 0x3a38]
push ecx
mov edx, dword [ebp - 0x3a50]
lea eax, [ebp + edx*4 - 0x3a4c]
push eax
lea ecx, [ebp - 0x83c]
push ecx
lea edx, [ebp - 0x47a8]
push edx
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x48a0], eax
mov eax, dword [ebp - 0x48a0]
mov dword [ebp - 0x48a4], eax
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x48a4]
push ecx
mov edx, dword [ebp - 0x3a50]
lea eax, [ebp + edx*4 - 0x3a4c]
push eax
call fcn.004119e0
push eax
lea ecx, [ebp - 0x47ac]
push ecx
call fcn.00412380
add esp, 0xc
mov dword [ebp - 0x48a8], eax
mov edx, dword [ebp - 0x48a8]
mov dword [ebp - 0x48ac], edx
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x48ac]
push eax
call fcn.00402850
add esp, 0x18
mov dword [ebp - 0x84c], eax
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x47ac]
call fcn.00412630
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x47a8]
call fcn.00412630
jmp 0x40bfc0
cmp dword [ebp - 0x84c], 0
je 0x40c173
mov dword [ebp - 0x48b0], 0x4b311c
jmp 0x40c17d
mov dword [ebp - 0x48b0], 0x4b31fc
call fcn.004119e0
mov byte [ebp - 4], 0x26
push fcn.00412630
push 5
push 4
lea ecx, [ebp - 0x3a4c]
push ecx
call fcn.004895e0
mov byte [ebp - 4], 4
push fcn.00412630
push 0xa
push 4
lea edx, [ebp - 0x3a38]
push edx
call fcn.004895e0
cmp dword [ebp - 0x84c], 0
jne 0x40c21c
cmp dword [ebp - 0x2858], 0
jne 0x40c1d7
push 1
lea eax, [ebp - 0x83c]
push eax
call fcn.00403160
add esp, 8
mov dword [ebp - 0x47b0], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x47b0]
jmp 0x40ccb0
call fcn.004119f0
push eax
lea ecx, [ebp - 0x83c]
push ecx
lea edx, [ebp - 0x850]
push edx
call fcn.004037b0
add esp, 0xc
mov byte [ebp - 4], 0x2f
push 0x104
push 0x104
lea ecx, [ebp - 0x850]
call fcn.00401740
push eax
lea ecx, [ebp - 0x850]
call fcn.00401510
push eax
call dword [0x4e56c0]
push 0xffffffffffffffff
lea ecx, [ebp - 0x850]
call fcn.00403b60
push str._UinsOnly:10
lea ecx, [ebp - 0x20]
call fcn.00403ae0
mov byte [ebp - 4], 0x30
call fcn.004119f0
push eax
lea eax, [ebp - 0x83c]
push eax
lea ecx, [ebp - 0x840]
push ecx
call fcn.004037b0
add esp, 0xc
mov byte [ebp - 4], 0x31
push 0x104
push 0x104
lea ecx, [ebp - 0x840]
call fcn.00401740
push eax
lea ecx, [ebp - 0x840]
call fcn.00401510
push eax
call dword [0x4e56c0]
push 0xffffffffffffffff
lea ecx, [ebp - 0x840]
call fcn.00403b60
lea edx, [ebp - 0x840]
push edx
lea ecx, [ebp - 0x20]
call fcn.00411d60
mov ecx, 0x5376f0
call fcn.00411a20
test eax, eax
je 0x40c3b9
lea ecx, [ebp - 0x3a54]
call fcn.00412610
mov byte [ebp - 4], 0x32
mov ecx, 0x5376f0
call fcn.00411a20
push eax
lea ecx, [ebp - 0x3a54]
call fcn.004014d0
push 0
push 0x20
lea ecx, [ebp - 0x3a54]
call fcn.00412120
test eax, eax
jl 0x40c38e
push 0x4b336c
lea ecx, [ebp - 0x20]
call fcn.00403740
push 0x4b3374
lea eax, [ebp - 0x3a54]
push eax
lea ecx, [ebp - 0x47b4]
push ecx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x48b4], eax
mov edx, dword [ebp - 0x48b4]
mov dword [ebp - 0x48b8], edx
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x48b8]
push eax
lea ecx, [ebp - 0x20]
call fcn.00411d60
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x47b4]
call fcn.00412630
jmp 0x40c3aa
push 0x4b3378
lea ecx, [ebp - 0x20]
call fcn.00403740
lea ecx, [ebp - 0x3a54]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00411d60
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x3a54]
call fcn.00412630
push 0x4b337c
lea ecx, [ebp - 0x20]
call fcn.00403740
mov ecx, 0x5376f0
call fcn.00410880
movzx edx, ax
test edx, edx
je 0x40c40d
lea eax, [ebp - 0x834]
push eax
mov ecx, 0x5376f0
call fcn.00410880
push eax
call fcn.0041f990
add esp, 8
push str.__LANG:
lea ecx, [ebp - 0x20]
call fcn.00403740
lea ecx, [ebp - 0x834]
push ecx
lea ecx, [ebp - 0x20]
call fcn.00403740
mov dword [ebp - 0x2868], 0x132
mov dword [ebp - 0x2864], 0x133
mov dword [ebp - 0x2860], 0x134
xor edx, edx
mov dword [ebp - 0x285c], edx
mov dword [ebp - 0x838], 0
jmp 0x40c44e
mov eax, dword [ebp - 0x838]
add eax, 1
mov dword [ebp - 0x838], eax
cmp dword [ebp - 0x84c], 0
je 0x40c4d4
cmp dword [ebp - 0x838], 3
jge 0x40c4d4
push 0
push 0x400
mov ecx, dword [ebp - 0x838]
shl ecx, 0xb
lea edx, [ebp + ecx - 0x2854]
push edx
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp + eax*4 - 0x2868]
push ecx
mov ecx, 0x5376f0
call fcn.004118c0
push eax
call fcn.0041e3f0
add esp, 0x14
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
jne 0x40c4cf
cmp dword [ebp - 0x838], 2
jne 0x40c4cf
mov dword [ebp - 0x84c], 1
push 0x4b3404
lea edx, [ebp - 0x1854]
push edx
call fcn.00488f19
add esp, 8
jmp 0x40c43f
cmp dword [ebp - 0x84c], 0
je 0x40c60b
lea eax, [ebp - 0x20]
push eax
push 0x4b3504
lea ecx, [ebp - 0x850]
push ecx
lea edx, [ebp - 0x47b8]
push edx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x48bc], eax
mov eax, dword [ebp - 0x48bc]
mov dword [ebp - 0x48c0], eax
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x48c0]
push ecx
lea edx, [ebp - 0x47bc]
push edx
call fcn.004122d0
add esp, 0xc
lea ecx, [ebp - 0x47bc]
call fcn.00412630
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x47b8]
call fcn.00412630
lea eax, [ebp - 0x2854]
push eax
call fcn.004465a0
add esp, 4
lea ecx, [ebp - 0x20]
push ecx
push 0x4b3508
lea edx, [ebp - 0x850]
push edx
lea eax, [ebp - 0x47c0]
push eax
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x48c4], eax
mov ecx, dword [ebp - 0x48c4]
mov dword [ebp - 0x48c8], ecx
mov byte [ebp - 4], 0x35
mov edx, dword [ebp - 0x48c8]
push edx
lea eax, [ebp - 0x47c4]
push eax
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x48cc], eax
mov ecx, dword [ebp - 0x48cc]
mov dword [ebp - 0x48d0], ecx
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x48d0]
call fcn.00401510
push eax
lea ecx, [ebp - 0x83c]
call fcn.00401510
push eax
lea edx, [ebp - 0x1854]
push edx
lea eax, [ebp - 0x2054]
push eax
lea ecx, [ebp - 0x2854]
push ecx
call fcn.00446430
add esp, 0x14
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x47c4]
call fcn.00412630
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x47c0]
call fcn.00412630
jmp 0x40c61f
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x84c], 1
mov dword [ebp - 0x1c], 0x12e
mov dword [ebp - 0x18], 0x12f
mov dword [ebp - 0x14], 0x130
mov dword [ebp - 0x10], 0x131
mov dword [ebp - 0x30], 0x4b350c
mov dword [ebp - 0x2c], str._StartMenu_MinorCategory_
mov dword [ebp - 0x28], str._StartMenu_UninstallMenu_
mov dword [ebp - 0x24], str._StartMenu_ReadmeMenu_
mov dword [ebp - 0x84c], 1
mov dword [ebp - 0x838], 0
jmp 0x40c67c
mov edx, dword [ebp - 0x838]
add edx, 1
mov dword [ebp - 0x838], edx
cmp dword [ebp - 0x838], 4
jge 0x40c6c6
mov eax, dword [ebp - 0x838]
mov ecx, dword [ebp + eax*4 - 0x30]
push ecx
push 0x400
mov edx, dword [ebp - 0x838]
shl edx, 0xb
lea eax, [ebp + edx - 0x2854]
push eax
mov ecx, dword [ebp - 0x838]
mov edx, dword [ebp + ecx*4 - 0x1c]
push edx
mov ecx, 0x5376f0
call fcn.004118c0
push eax
call fcn.0041e3f0
add esp, 0x14
jmp 0x40c66d
cmp dword [ebp - 0x84c], 0
je 0x40cc44
lea eax, [ebp - 0x2054]
push eax
push 0x4b37a8
lea ecx, [ebp - 0x2854]
push ecx
lea ecx, [ebp - 0x47c8]
call fcn.00403ae0
mov dword [ebp - 0x48d4], eax
mov edx, dword [ebp - 0x48d4]
mov dword [ebp - 0x48d8], edx
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x48d8]
push eax
lea ecx, [ebp - 0x47cc]
push ecx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x48dc], eax
mov edx, dword [ebp - 0x48dc]
mov dword [ebp - 0x48e0], edx
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x48e0]
push eax
lea ecx, [ebp - 0x3a70]
push ecx
call fcn.004037b0
add esp, 0xc
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x47cc]
call fcn.00412630
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x47c8]
call fcn.00412630
lea ecx, [ebp - 0x3a6c]
call fcn.00411af0
mov byte [ebp - 4], 0x3c
movzx edx, byte [0x53d216]
test edx, edx
jne 0x40c783
jmp 0x40c7e2
lea eax, [ebp - 0x850]
push eax
lea ecx, [ebp - 0x3a6c]
call fcn.004014b0
lea ecx, [ebp - 0x20]
push ecx
lea ecx, [ebp - 0x3a68]
call fcn.004014b0
lea edx, [ebp - 0x840]
push edx
lea ecx, [ebp - 0x3a60]
call fcn.004014b0
mov dword [ebp - 0x3a5c], 0
lea eax, [ebp - 0x3a6c]
push eax
lea ecx, [ebp - 0x1854]
push ecx
lea ecx, [ebp - 0x3a70]
call fcn.00401510
push eax
call fcn.00445950
add esp, 0xc
movzx edx, byte [0x53d215]
test edx, edx
jne 0x40c7f2
jmp 0x40cc26
lea ecx, [ebp - 0x3a88]
call fcn.00411af0
mov byte [ebp - 4], 0x3d
mov ecx, 0x5376f0
call fcn.00411a00
push eax
lea ecx, [ebp - 0x3a90]
call fcn.00403ae0
mov byte [ebp - 4], 0x3e
push 0x4b37ac
call fcn.004119e0
push eax
lea ecx, [ebp - 0x3a90]
call fcn.00411d80
cmp eax, 1
jne 0x40c896
push 0
lea ecx, [ebp - 0x3a90]
call fcn.00403860
movzx eax, ax
cmp eax, 0x5c
jne 0x40c896
push 1
lea ecx, [ebp - 0x47d0]
push ecx
lea ecx, [ebp - 0x3a90]
call fcn.00412200
mov dword [ebp - 0x48e4], eax
mov edx, dword [ebp - 0x48e4]
mov dword [ebp - 0x48e8], edx
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x48e8]
push eax
lea ecx, [ebp - 0x3a90]
call fcn.004014b0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x47d0]
call fcn.00412630
push 0x5c
push 1
lea ecx, [ebp - 0x47d8]
push ecx
lea ecx, [ebp - 0x3a90]
call fcn.00412240
mov dword [ebp - 0x48ec], eax
mov edx, dword [ebp - 0x48ec]
push edx
call fcn.004125d0
add esp, 8
mov byte [ebp - 0x47d1], al
lea ecx, [ebp - 0x47d8]
call fcn.00412630
movzx eax, byte [ebp - 0x47d1]
test eax, eax
je 0x40c8ea
push 0x5c
lea ecx, [ebp - 0x3a90]
call fcn.00414370
mov ecx, dword [ebp - 0x47fc]
call fcn.0040f9e0
mov esi, eax
mov ecx, dword [ebp - 0x47fc]
call fcn.0040f9e0
mov ecx, dword [eax + 0x7b0]
mov edx, dword [esi + ecx*4 + 0x490]
mov dword [ebp - 0x3a8c], edx
push 0x400
mov eax, dword [ebp - 0x3a8c]
push eax
lea ecx, [ebp - 0x4294]
push ecx
push 0x4b39bc
lea ecx, [ebp - 0x47dc]
call fcn.00403ae0
mov dword [ebp - 0x48f0], eax
mov edx, dword [ebp - 0x48f0]
mov dword [ebp - 0x48f4], edx
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x48f4]
push eax
lea ecx, [ebp - 0x3a90]
push ecx
lea edx, [ebp - 0x47e0]
push edx
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x48f8], eax
mov eax, dword [ebp - 0x48f8]
mov dword [ebp - 0x48fc], eax
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x48fc]
call fcn.00401510
push eax
call fcn.0041e550
add esp, 0x10
mov dword [ebp - 0x84c], eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x47e0]
call fcn.00412630
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x47dc]
call fcn.00412630
cmp dword [ebp - 0x84c], 0
je 0x40ca7a
mov ecx, 0x20
mov esi, str.SOFTWAREMicrosoftWindowsCurrentVersionApp_PathsIEXPLORE.EXE
lea edi, [ebp - 0x4524]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x4528]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0x4524]
push edx
push reloc.WS2_32.dll_bind
call dword [0x4e5614]
test eax, eax
jne 0x40ca70
mov dword [ebp - 0x452c], 1
mov dword [ebp - 0x4738], 0x208
lea eax, [ebp - 0x4738]
push eax
lea ecx, [ebp - 0x4734]
push ecx
lea edx, [ebp - 0x452c]
push edx
push 0
push 0x4b3b9c
mov eax, dword [ebp - 0x4528]
push eax
call dword [0x4e561c]
test eax, eax
jne 0x40ca57
lea ecx, [ebp - 0x4734]
push ecx
lea edx, [ebp - 0x449c]
push edx
call fcn.00488f19
add esp, 8
jmp 0x40ca61
mov dword [ebp - 0x84c], 0
mov eax, dword [ebp - 0x4528]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40ca7a
mov dword [ebp - 0x84c], 0
cmp dword [ebp - 0x84c], 0
je 0x40cc08
lea ecx, [ebp - 0x449c]
push ecx
lea ecx, [ebp - 0x3a88]
call fcn.004014d0
push 0x4b3c7c
lea edx, [ebp - 0x4294]
push edx
lea eax, [ebp - 0x3a90]
push eax
lea ecx, [ebp - 0x83c]
push ecx
push 0x4b3cec
lea ecx, [ebp - 0x47e4]
call fcn.00403ae0
mov dword [ebp - 0x4900], eax
mov edx, dword [ebp - 0x4900]
mov dword [ebp - 0x4904], edx
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x4904]
push eax
lea ecx, [ebp - 0x47e8]
push ecx
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x4908], eax
mov edx, dword [ebp - 0x4908]
mov dword [ebp - 0x490c], edx
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x490c]
push eax
lea ecx, [ebp - 0x47ec]
push ecx
call fcn.004122d0
add esp, 0xc
mov dword [ebp - 0x4910], eax
mov edx, dword [ebp - 0x4910]
mov dword [ebp - 0x4914], edx
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x4914]
push eax
lea ecx, [ebp - 0x47f0]
push ecx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x4918], eax
mov edx, dword [ebp - 0x4918]
mov dword [ebp - 0x491c], edx
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x491c]
push eax
lea ecx, [ebp - 0x47f4]
push ecx
call fcn.004037b0
add esp, 0xc
mov dword [ebp - 0x4920], eax
mov edx, dword [ebp - 0x4920]
mov dword [ebp - 0x4924], edx
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x4924]
push eax
lea ecx, [ebp - 0x3a84]
call fcn.004014b0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x47f4]
call fcn.00412630
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x47f0]
call fcn.00412630
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x47ec]
call fcn.00412630
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x47e8]
call fcn.00412630
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x47e4]
call fcn.00412630
lea ecx, [ebp - 0x3a88]
push ecx
lea edx, [ebp - 0x1054]
push edx
lea ecx, [ebp - 0x3a70]
call fcn.00401510
push eax
call fcn.00445950
add esp, 0xc
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x3a90]
call fcn.00412630
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x3a88]
call fcn.00411b40
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x3a6c]
call fcn.00411b40
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x3a70]
call fcn.00412630
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x47f8], eax
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x840]
call fcn.00412630
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x20]
call fcn.00412630
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x850]
call fcn.00412630
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x844]
call fcn.00412630
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x848]
call fcn.00412630
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x83c]
call fcn.00412630
mov eax, dword [ebp - 0x47f8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x34]
xor ecx, ebp
call fcn.00488550
mov esp, ebp
pop ebp
ret