Function at 0x403b50
Capabilities:
Create thread
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x64
mov eax, dword [0x46d184]
xor eax, esp
mov dword [esp + 0x60], eax
mov ecx, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [esp + 0x14]
push eax
mov dword [0x46f6b8], esi
call fcn.00404520
mov eax, dword [esp + 0x14]
xor ebx, ebx
cmp dword [eax - 0xc], ebx
jl 0x403ba2
push str._param1
push eax
call fcn.00445b36
add esp, 8
cmp eax, ebx
je 0x403ba2
sub eax, dword [esp + 0x14]
sar eax, 1
jns 0x403bee
push 0x10
push 0x468f00
push str.This_file_is_part_of_an_installer_and_not_meant_to_be_launched_separately.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403bd5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0044455e
mov esp, ebp
pop ebp
ret 0x10
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x3c], esp
push 4
mov edi, 0xf
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x14], ebx
push str.2242
mov byte [ecx + 4], bl
call fcn.00401b40
call fcn.00402bc0
add esp, 0x1c
call fcn.00401c60
test al, al
jne 0x403bb5
call fcn.00403aa0
lea ecx, [esp + 0x50]
push ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
call fcn.004022f0
add esp, 4
push 1
lea edx, [esp + 0x54]
push edx
call fcn.00404610
test eax, eax
je 0x403cc0
push 0x10
push 0x468f00
push str.This_file_is_part_of_an_installer_and_not_meant_to_be_launched_separately.
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp dword [esp + 0x68], 0x10
jb 0x403c77
mov eax, dword [esp + 0x54]
push eax
call fcn.00444553
add esp, 4
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov dword [esp + 0x68], edi
mov dword [esp + 0x64], ebx
mov byte [esp + 0x54], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403bd5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0044455e
mov esp, ebp
pop ebp
ret 0x10
lea ecx, [esp + 0x4c]
push ecx
push ebx
push ebx
push 0x405370
push ebx
mov byte [0x46f717], 1
mov byte [0x46f71c], bl
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [0x46f820], eax
mov eax, 5
lea ebx, [eax - 3]
mov dword [0x46e61c], 1
call fcn.004052e0
call fcn.00402e20
mov edx, dword [0x46eb5c]
mov eax, dword [edx + 0xc]
mov ecx, 0x46eb5c
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
mov ax, word [0x46f85c]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
test al, al
je 0x403da6
test ah, ah
jne 0x403d76
push str.2041
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
lea ecx, [esp + 0x28]
push ecx
mov ecx, str.akNjYx8tFzxrQnxZBX9NaDNMeVkEeUhrCXM4GWYXZ3cHegJKThRxPi94HVtdLHg4NXM2V1syUjoyXF8wQT83VSxaaDtNNw0GC0Jb2QsNwEXWFZtez0kOR5eTFdxMiMwCGJWUlcRMyBaG1xVNG8DIVsEZh78Kw
call fcn.00404420
lea ebx, [esp + 0x18]
call fcn.004044c0
lea eax, [esp + 0x28]
call fcn.004013b0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1838
jmp 0x403e1b
push str.2042
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
lea edx, [esp + 0x2c]
push edx
mov ecx, str.alNjYx89FzxrUnxZBW9NaDNceVkEaUhrCWM4GWYHZ3cHagJKTgRxPi9oHVtdPHg4NWMTVkPeCE2eC9yO3JcEVMXMXQMeVAZaUQWbBoteQJTQwp2Mi9mE0B7A3AoFWwcR3IVTDIQSi1lQ0cnBiAoUmhUd298Ow
call fcn.00404420
lea ebx, [esp + 0x18]
call fcn.004044c0
lea eax, [esp + 0x2c]
jmp 0x403e08
test ah, ah
jne 0x403dda
push str.2043
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
lea eax, [esp + 0x24]
push eax
mov ecx, str.a5NjYx79FzxqknxZBK9NaDKceVkFqUhrCKM4GWfHZ3cGqgJKT8RxPi6oHVtc_Hg4NKMTVjPeCE3uHUrRNsdTimQiBI0ycdDqZUdGHIHRoSvHx2ftkOIhu6Zkx01gkrDYZ8SVLnECVf7X9QMZkgJA0Mg
call fcn.00404420
lea ebx, [esp + 0x18]
call fcn.004044c0
lea eax, [esp + 0x24]
jmp 0x403d5e
push str.2044
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
lea ecx, [esp + 0x20]
push ecx
mov ecx, str.ZRNjbxB9FzBkEnxVCi9NZDwceVULKUhnBiM4FWlHZ3sIKgJGQURxMiAoHVdSfHg0OhIXWFV1bgggF2MCU3QLZz4RVAlffDE0GQlCXXZnCzMFE2pfaXYYCwwVcGVjeR8CGilqYEVLDG1PKGMYIVw8bE5i0HQ
call fcn.00404420
lea ebx, [esp + 0x18]
call fcn.004044c0
lea eax, [esp + 0x20]
call fcn.004013b0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1837
call fcn.00401c20
call fcn.00402bc0
mov edi, dword [esp + 0x34]
add esp, 0x1c
push ecx
add edi, 0xfffffff0
mov eax, edi
mov dword [esp + 0x14], esp
mov ebx, esp
call fcn.00404880
add eax, 0x10
mov dword [ebx], eax
call fcn.00403850
add esp, 4
sub esp, 0x1c
cmp dword [0x46f6bc], 0
mov ebx, eax
mov ecx, esp
mov dword [esp + 0x2c], esp
je 0x403eb1
push str.1804
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
test ebx, ebx
jne 0x403ea1
call dword [0x46f6a8]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
test eax, eax
jne 0x403e8e
push str.1806
jmp 0x403eb6
cmp eax, 1
jne 0x403e9a
push str.1807
jmp 0x403eb6
push str.1808
jmp 0x403eb6
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1914
jmp 0x403eb6
push str.1805
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1763
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
push 0
push 0x402f50
push 0
push 0x82
push esi
mov dword [0x46e61c], 3
call dword [sym.imp.USER32.dll_CreateDialogParamW]
mov esi, eax
test esi, esi
jne 0x403f67
call fcn.004039e0
lea edx, [edi + 0xc]
or eax, 0xffffffff
lock xadd dword [edx], eax
dec eax
test eax, eax
jg 0x403f21
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push edi
call eax
lea ecx, [esp + 0x50]
call fcn.00401770
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403bd5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0044455e
mov esp, ebp
pop ebp
ret 0x10
fld qword [0x46f6c0]
fld qword [0x4696a8]
fmul st(1)
call fcn.00448cc0
fld qword [0x46f6c8]
fld qword [0x4696a0]
push eax
fmul st(1)
call fcn.00448cc0
fxch st(1)
fmul qword [0x469698]
push eax
call fcn.00448cc0
fmul qword [0x469690]
push eax
call fcn.00448cc0
push eax
push esi
call dword [0x46f6a4]
push 0x1388
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, 0x258
mov ebx, 4
call fcn.004052e0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1860
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1773
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
call dword [0x46f6a8]
mov ebx, eax
cmp ebx, 9
mov edi, 0x789
jge 0x404012
lea edi, [ebx + 0x780]
mov edx, dword [0x46eb5c]
mov eax, dword [edx + 0xc]
mov ecx, 0x46eb5c
call eax
push edi
add eax, 0x10
push 0x469514
lea edi, [esp + 0x24]
mov dword [esp + 0x24], eax
call fcn.00401480
mov edx, dword [esp + 0x24]
sub esp, 0x14
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
cmp ebx, 3
jg 0x40413b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1764
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1861
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
push 0x32c8
mov byte [0x46f714], 1
call dword [0x46f6ac]
test eax, eax
jne 0x40417d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1862
mov dword [0x46e61c], 5
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1834
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1841
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
mov eax, 0x4650
mov ebx, 8
call fcn.004052e0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1912
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1913
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
mov byte [0x46f714], 0
call fcn.004039e0
lea eax, [esp + 0x1c]
call fcn.004013b0
lea eax, [esp + 0x18]
call fcn.004013b0
lea ecx, [esp + 0x50]
call fcn.00401770
lea eax, [esp + 0x14]
call fcn.004013b0
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0044455e
mov esp, ebp
pop ebp
ret 0x10
mov edi, esi
mov byte [0x46f714], 0
call fcn.00402e80
mov eax, dword [ebp + 0x14]
push eax
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0
push 0xfa0
push 1
push esi
call dword [sym.imp.USER32.dll_SetTimer]
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
xor eax, eax
push eax
push eax
push eax
lea ecx, [esp + 0x3c]
push ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
call esi
test eax, eax
je 0x40420f
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x4041f0
lea edx, [esp + 0x30]
push edx
call edi
lea eax, [esp + 0x30]
push eax
call ebx
push 0
push 0
push 0
lea ecx, [esp + 0x3c]
push ecx
call esi
test eax, eax
jne 0x4041f0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1862
mov dword [0x46e61c], 5
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1834
call fcn.00401c20
call fcn.00402bc0
mov eax, dword [0x46e62c]
add esp, 0x1c
cmp eax, 1
jne 0x404263
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1841
jmp 0x4042ca
cmp eax, 2
jne 0x404278
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1842
jmp 0x4042ca
cmp eax, 3
jne 0x40428d
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1843
jmp 0x4042ca
cmp eax, 4
jne 0x4042a2
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1844
jmp 0x4042ca
cmp eax, 5
jne 0x4042b7
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1845
jmp 0x4042ca
cmp eax, 6
jne 0x4042d7
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1846
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
mov eax, dword [0x46f718]
cmp eax, 1
jne 0x4042f1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1901
jmp 0x40432e
cmp eax, 2
jne 0x404306
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1902
jmp 0x40432e
cmp eax, 3
jne 0x40431b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1903
jmp 0x40432e
cmp eax, 4
jne 0x40433b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1904
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
cmp byte [0x46f716], 0
je 0x404374
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1849
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1864
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
mov eax, 0x2bf20
mov ebx, 8
call fcn.004052e0
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1766
call fcn.00401c20
call fcn.00402bc0
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1912
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
call dword [0x46f688]
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.1913
call fcn.00401c20
call fcn.00402bc0
add esp, 0x1c
call fcn.004039e0
lea eax, [esp + 0x1c]
call fcn.004013b0
lea eax, [esp + 0x18]
call fcn.004013b0
lea ecx, [esp + 0x50]
call fcn.00401770
lea eax, [esp + 0x14]
call fcn.004013b0
mov ecx, dword [esp + 0x6c]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0044455e
mov esp, ebp
pop ebp
ret 0x10