Function at 0x4038c0
Capabilities:
Get geographical location
Query or enumerate registry key

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ce9a0
mov eax, dword fs:[0]
push eax
sub esp, 0x45c
mov eax, dword [0x65a000]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x218], ax
lea eax, [ebp - 0x216]
push eax
mov dword [ebp - 0x450], ebx
call fcn.005a7690
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x420], ax
lea eax, [ebp - 0x41e]
push eax
call fcn.005a7690
add esp, 0x18
mov ecx, esi
push 0x1b
push str._Application_Name_MSETUP__
mov dword [ebp - 0x42c], 0
mov dword [ebp - 0x428], 0
mov dword [ebp - 0x424], 0x104
call fcn.004058d0
lea eax, [ebp - 0x42c]
push eax
push 0x20019
push 0
push ebx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x403990
push 0x29
push str._Application_Name_MSETUP____Application_
mov ecx, esi
call fcn.004058d0
jmp 0x404e6f
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor edi, edi
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x424]
push eax
lea eax, [ebp - 0x218]
push eax
push edi
push dword [ebp - 0x42c]
mov dword [ebp - 0x424], 0x104
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x404e54
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x450]
lea eax, [ebp - 0x420]
push 0x60e0d4
push 0xffffffffffffffff
push 0x104
push eax
call fcn.005a4e29
add esp, 0x18
lea eax, [ebp - 0x428]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x420]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x404e54
push 9
push str._Install_
mov ecx, esi
call fcn.004057a0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x430], esp
push 5
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.DevID
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 0
push 5
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.DEVID
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403aca
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 3
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x60e340
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 2
push 3
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x60e340
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 3
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403b69
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 8
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.FontSize
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 4
push 3
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x60e354
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 5
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403c08
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 3
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push 0x60e7b0
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 6
push 9
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.RESIDENCE
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 7
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403ca7
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 0xd
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.InstallMethod
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 8
push 0xb
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.INSTALLFLOW
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 9
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403d46
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 0xa
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.UserRegist
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 0xa
push 9
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.UREG_DONE
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0xb
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403de5
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 0xa
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.ScreenSize
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 0xc
push 0xa
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.SCREENSIZE
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0xd
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403e84
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 0xb
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.InstallDate
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 0xe
push 0xb
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.INSTALLDATE
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0xf
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403f23
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 0xd
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.InstalledItem
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 0x10
push 0xb
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.INSTALLITEM
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x11
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x403fc2
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 0xb
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.SetupMethod
mov word [ecx], ax
call fcn.004058d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 4], 0x12
push 0xd
xor eax, eax
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push str.SELECT_METHOD
mov word [ecx], ax
call fcn.004058d0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x13
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404061
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.FAILSTEP
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.FAILSTEP
mov dword [ebp - 4], 0x14
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x15
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4040d6
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.LANFAIL
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.LANFAIL
mov dword [ebp - 4], 0x16
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x17
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x40414b
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.SYSTEMLOCALE
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.SYSTEMLOCALE
mov dword [ebp - 4], 0x18
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x19
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4041c0
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.UILANGID
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.UILANGID
mov dword [ebp - 4], 0x1a
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x1b
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404235
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.DEFAULTUILANGID
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.DEFAULTUILANGID
mov dword [ebp - 4], 0x1c
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x1d
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4042aa
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.INTERFACE
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.INTERFACE
mov dword [ebp - 4], 0x1e
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x1f
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x40431f
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.WIRELESSMETHOD
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.WIRELESSMETHOD
mov dword [ebp - 4], 0x20
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x21
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404394
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.ONLINEMODE
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.ONLINEMODE
mov dword [ebp - 4], 0x22
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x23
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404409
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.SKIPSOFTWARE
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.SKIPSOFTWARE
mov dword [ebp - 4], 0x24
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x25
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x40447e
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.COUNTRY
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.COUNTRY
mov dword [ebp - 4], 0x26
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x27
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4044f3
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.TUTOLASTCALL
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.TUTOLASTCALL
mov dword [ebp - 4], 0x28
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x29
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404568
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.TUTOCOUNTCABLELESS
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.TUTOCOUNTCABLELESS
mov dword [ebp - 4], 0x2a
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x2b
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4045dd
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.TUTOCOUNTMANUAL
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.TUTOCOUNTMANUAL
mov dword [ebp - 4], 0x2c
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x2d
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404652
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.TUTOCOUNTPUSH
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.TUTOCOUNTPUSH
mov dword [ebp - 4], 0x2e
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x2f
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4046c7
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.TUTOLESS_COUNTCABLELESS_FAIL
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.TUTOLESS_COUNTCABLELESS_FAIL
mov dword [ebp - 4], 0x30
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x31
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x40473c
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.INSTLANSETUP
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.INSTLANSETUP
mov dword [ebp - 4], 0x32
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x33
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4047b1
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.HEADADJUST
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.HEADADJUST
mov dword [ebp - 4], 0x34
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x35
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404826
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.TESTPRINT
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.TESTPRINT
mov dword [ebp - 4], 0x36
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x37
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x40489b
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.SetupTime
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.SETUPTIME
mov dword [ebp - 4], 0x38
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x39
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404910
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.IF_CHANGE
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.IF_CHANGE
mov dword [ebp - 4], 0x3a
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x3b
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404985
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.TUTORETURN
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.TUTORETURN
mov dword [ebp - 4], 0x3c
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x3d
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x4049fa
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.IPAddKind
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.IPADDKIND
mov dword [ebp - 4], 0x3e
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x3f
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404a6f
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.SerialHelp
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.SERIALHELP
mov dword [ebp - 4], 0x40
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x41
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404ae4
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.IPAddSearch
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.IPADDSEARCH
mov dword [ebp - 4], 0x42
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x43
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404b59
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.IPSearchResult
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.IPSEARCHRESULT
mov dword [ebp - 4], 0x44
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x45
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404bce
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push 0x60e8c8
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.DEFAULTPRINTER
mov dword [ebp - 4], 0x46
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x47
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404c43
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.UnlockWall
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.UNLOCKWALL
mov dword [ebp - 4], 0x48
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x49
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404cb8
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.SetNetwork
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.SETNETWORK
mov dword [ebp - 4], 0x4a
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x4b
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404d2d
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.ResultSetNet
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.RESULTSETNET
mov dword [ebp - 4], 0x4c
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x44c]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x4d
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x438], 8
jb 0x404da2
push dword [ebp - 0x44c]
call fcn.0048166b
add esp, 4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x434], esp
push str.ResultNetViaUSB
call fcn.004051f0
sub esp, 0x18
mov ecx, esp
push str.RESULTNETVIAUSB
mov dword [ebp - 4], 0x4e
call fcn.004051f0
push dword [ebp - 0x428]
lea eax, [ebp - 0x468]
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.00404e90
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov dword [ebp - 4], 0x4f
call fcn.00405690
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x454], 8
jb 0x404e17
push dword [ebp - 0x468]
call fcn.0048166b
add esp, 4
push 0xa
xor eax, eax
push str.__Install_
mov ecx, esi
mov dword [ebp - 0x454], 7
mov dword [ebp - 0x458], 0
mov word [ebp - 0x468], ax
call fcn.004057a0
push dword [ebp - 0x428]
call ebx
inc edi
cmp edi, 0xa
jl 0x403998
push 0xe
push str.__Application_
mov ecx, esi
call fcn.004057a0
mov eax, dword [ebp - 0x42c]
test eax, eax
je 0x404e6f
push eax
call ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005a4646
mov esp, ebp
pop ebp
ret 8