Function at 0x41e3cf
Capabilities:
Check if file exists
Get common file path
Get startup folder

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c4
mov eax, dword [0x5c2460]
xor eax, esp
mov dword [esp + 0x7c0], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0xc], eax
push edi
xor ebx, ebx
mov dword [esp + 0x14], esi
mov edi, edx
mov dword [esp + 0x18], ebx
call fcn.0042eea1
mov byte [esp + 0xd], bl
call fcn.00440165
cmp eax, 4
jle 0x41e431
cmp dword [esi + 0x14], 8
jb 0x41e41e
mov ecx, dword [esi]
jmp 0x41e420
mov ecx, esi
xor edx, edx
inc edx
call fcn.0043e414
test al, al
je 0x41e431
mov byte [esp + 0xd], 1
call fcn.0043c187
cmp al, 1
jne 0x41e43f
call fcn.0043c245
and dword [esp + 0x1e8], ebx
lea ecx, [esp + 0x1d8]
push 7
pop esi
xor eax, eax
mov dword [esp + 0x1ec], esi
mov word [esp + 0x1d8], ax
call fcn.0043ed6c
test al, al
je 0x41e47e
push fcn.0043ec4a
lea edx, [esp + 0x1dc]
mov ecx, edi
call fcn.0043d2b0
pop ecx
cmp byte [0x5c38dd], 1
je 0x41e496
mov ecx, edi
call fcn.0043d7f1
cmp al, 1
jne 0x41e52b
call fcn.0041fa7f
push dword [esp + 0x10]
mov edx, edi
lea ecx, [esp + 0x11c]
call fcn.0042044c
pop ecx
push eax
lea ecx, [esp + 0xec]
call fcn.004075a4
push 0
push 1
lea ecx, [esp + 0x120]
call fcn.0040536f
push str.setup64.exe
lea ecx, [esp + 0x134]
call fcn.004058f0
lea edx, [esp + 0x130]
lea ecx, [esp + 0xe8]
call fcn.0043bf45
push 0
push 1
lea ecx, [esp + 0x138]
call fcn.0040536f
sub esp, 0x18
lea eax, [esp + 0x100]
mov ecx, esp
push eax
call fcn.00409846
mov ecx, edi
call fcn.0043ddaa
add esp, 0x18
lea ecx, [esp + 0xe8]
push 0
push 1
call fcn.0040536f
and dword [esp + 0x200], ebx
lea ecx, [esp + 0x1f0]
xor eax, eax
mov dword [esp + 0x204], esi
mov word [esp + 0x1f0], ax
call fcn.0043ed08
test al, al
je 0x41e564
push 0
lea edx, [esp + 0x1f4]
mov ecx, edi
call fcn.0043d2b0
pop ecx
cmp byte [0x5c38de], 1
je 0x41e578
mov ecx, edi
call fcn.0043d8b1
cmp al, 1
jne 0x41e57f
mov ecx, edi
call fcn.0043dfeb
and dword [esp + 0x1d0], ebx
lea ecx, [esp + 0x1c0]
xor eax, eax
mov dword [esp + 0x1d4], esi
mov word [esp + 0x1c0], ax
call fcn.0043ee9e
test al, al
je 0x41e5b8
push 0
lea edx, [esp + 0x1c4]
mov ecx, edi
call fcn.0043d2b0
pop ecx
cmp byte [0x5c38db], 1
je 0x41e5cc
mov ecx, edi
call fcn.0043d851
cmp al, 1
jne 0x41e5d3
mov ecx, edi
call fcn.0043e115
and dword [esp + 0x158], ebx
lea edx, [esp + 0x148]
xor eax, eax
mov dword [esp + 0x15c], esi
push 0x6c
pop ecx
mov word [esp + 0x148], ax
call fcn.0045c120
test al, al
jne 0x41e64b
cmp dword [0x768ca0], 2
jg 0x41e62f
push 2
push 0x162
xor ebx, ebx
lea ecx, [esp + 0x258]
push str.e:360chrome37_srcchromeinstaller_tdsetupinstallwrite_config.cpp
inc ebx
call fcn.0045ce90
mov edx, str.Failed_to_get_location_for_shortcut.
lea ecx, [eax + 8]
call fcn.00405723
test bl, 1
je 0x41e640
lea ecx, [esp + 0x250]
call fcn.0045cee0
xor ebx, ebx
mov byte [esp + 0xc], bl
jmp 0x41f5b2
call fcn.0041e128
push 4
pop ecx
mov byte [esp + 0xe], al
call fcn.0043c517
mov byte [esp + 0xf], al
call fcn.00444406
mov esi, eax
lea eax, [esp + 0x238]
push eax
mov ecx, esi
mov dword [esp + 0x20], esi
mov edx, dword [esi]
call dword [edx + 0x7c]
mov edx, dword [esi]
lea eax, [esp + 0x220]
push eax
mov ecx, esi
call dword [edx + 0x38]
mov edx, 0x157e
lea ecx, [esp + 0x300]
call fcn.0044506f
call fcn.00440157
test al, al
jne 0x41e6e6
push ecx
push ecx
lea eax, [esp + 0x308]
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x154]
call fcn.00459bb0
push eax
lea ecx, [esp + 0x14c]
call fcn.00459060
lea ecx, [esp + 0x118]
call fcn.00459030
jmp 0x41e838
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x134]
call fcn.00458f80
push ecx
push ecx
lea eax, [esp + 0x308]
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x13c]
call fcn.00459bb0
push eax
lea ecx, [esp + 0x134]
call fcn.00459060
lea ecx, [esp + 0x118]
call fcn.00459030
push 0x548fc4
lea ecx, [esp + 0xd4]
call fcn.004058f0
lea eax, [esp + 0xd0]
xor ebx, ebx
push eax
push 2
push ebx
lea eax, [esp + 0x154]
push eax
lea ecx, [esp + 0x328]
call fcn.004697d0
xor eax, eax
mov dword [esp + 0x174], 7
mov word [esp + 0x160], ax
lea ecx, [esp + 0x318]
lea eax, [esp + 0xe8]
mov dword [esp + 0x170], ebx
push eax
call fcn.00469990
push eax
lea ecx, [esp + 0x164]
call fcn.00459060
cmp dword [eax + 0x10], ebx
jmp 0x41e7ed
call fcn.00457b60
test al, al
je 0x41e7c8
mov dl, 1
lea ecx, [esp + 0x160]
call fcn.004575a0
mov byte [esp + 0xd], 1
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x31c]
call fcn.00469990
push eax
lea ecx, [esp + 0x164]
call fcn.00459060
cmp dword [eax + 0x10], 0
lea ecx, [esp + 0xe8]
setne bl
call fcn.00459030
lea ecx, [esp + 0x160]
test bl, bl
jne 0x41e7ac
call fcn.00459030
lea ecx, [esp + 0x318]
call fcn.00469880
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
lea ecx, [esp + 0x130]
call fcn.00459030
mov ebx, dword [esp + 0x18]
push ecx
push ecx
lea eax, [esp + 0x240]
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x154]
call fcn.00459bb0
push eax
lea ecx, [esp + 0x14c]
call fcn.00459060
lea ecx, [esp + 0x118]
call fcn.00459030
lea eax, [esp + 0x148]
mov byte [esp + 0xc], 1
push eax
lea ecx, [esp + 0x17c]
call fcn.00458f80
push 0x549008
lea edx, [esp + 0x23c]
lea ecx, [esp + 0xd4]
call fcn.0041540b
push ecx
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x184]
call fcn.00459bb0
push eax
lea ecx, [esp + 0x17c]
call fcn.00459060
lea ecx, [esp + 0x118]
call fcn.00459030
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
push edi
lea ecx, [esp + 0x104]
call fcn.00409846
push str.360se.exe
lea ecx, [esp + 0xd4]
call fcn.004058f0
lea eax, [esp + 0xd0]
push eax
lea edx, [esp + 0x104]
lea ecx, [esp + 0x11c]
call fcn.0041d963
pop ecx
push eax
lea ecx, [esp + 0x104]
call fcn.004075c9
push 0
push 1
lea ecx, [esp + 0x120]
call fcn.0040536f
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
call fcn.00420cd4
mov esi, eax
mov ecx, esi
call fcn.00420cf2
cmp dword [esi], 1
je 0x41eba1
call fcn.00420cd4
mov ecx, eax
call fcn.00420e44
test al, al
jne 0x41eba1
cmp byte [esp + 0xe], 1
je 0x41eba1
cmp byte [esp + 0xd], al
jne 0x41eba1
lea ecx, [esp + 0x178]
call fcn.00457b40
test al, al
je 0x41ea8b
cmp dword [0x768ca0], 0
jg 0x41ea22
push 8
pop ebx
push 0
push 0x1a5
push str.e:360chrome37_srcchromeinstaller_tdsetupinstallwrite_config.cpp
lea ecx, [esp + 0x25c]
call fcn.0045ce90
mov edx, str.Updating_shortcut_at
lea ecx, [eax + 8]
call fcn.00405723
mov edx, dword [esp + 0x178]
cmp dword [esp + 0x18c], ebx
jae 0x41e9f0
lea edx, [esp + 0x178]
mov ecx, eax
call fcn.0045d6f0
mov edx, str._to_point_to
mov ecx, eax
call fcn.00405723
cmp dword [esp + 0x114], 8
mov edx, dword [esp + 0x100]
jae 0x41ea1b
lea edx, [esp + 0x100]
mov ecx, eax
call fcn.0045d6f0
test bl, 8
je 0x41ea36
lea ecx, [esp + 0x250]
and ebx, 0xfffffff7
call fcn.0045cee0
push 0x53fc30
lea ecx, [esp + 0xd4]
call fcn.004058f0
push ecx
push 0
lea eax, [esp + 0x228]
or ebx, 0x10
push eax
lea eax, [esp + 0x184]
push eax
lea edx, [esp + 0xe0]
lea ecx, [esp + 0x110]
call fcn.0043cfdc
add esp, 0x10
test al, al
setne byte [esp + 0xc]
test bl, 0x10
je 0x41ecb7
and ebx, 0xffffffef
jmp 0x41eca7
lea ecx, [esp + 0x178]
call fcn.00457b40
test al, al
jne 0x41ecb7
lea ecx, [esp + 0x148]
call fcn.00457b40
test al, al
jne 0x41eabd
xor edx, edx
lea ecx, [esp + 0x148]
call fcn.00458200
cmp dword [0x768ca0], 0
jg 0x41eb38
push 0x20
pop ebx
push 0
push 0x1b0
push str.e:360chrome37_srcchromeinstaller_tdsetupinstallwrite_config.cpp
lea ecx, [esp + 0x25c]
call fcn.0045ce90
mov edx, str.Creating_shortcut_to
lea ecx, [eax + 8]
call fcn.00405723
cmp dword [esp + 0x114], 8
mov edx, dword [esp + 0x100]
jae 0x41eb06
lea edx, [esp + 0x100]
mov ecx, eax
call fcn.0045d6f0
mov edx, str._at
mov ecx, eax
call fcn.00405723
cmp dword [esp + 0x18c], 8
mov edx, dword [esp + 0x178]
jae 0x41eb31
lea edx, [esp + 0x178]
mov ecx, eax
call fcn.0045d6f0
test bl, 0x20
je 0x41eb4c
lea ecx, [esp + 0x250]
and ebx, 0xffffffdf
call fcn.0045cee0
push 0x53fc30
lea ecx, [esp + 0xd4]
call fcn.004058f0
push ecx
push 1
lea eax, [esp + 0x228]
or ebx, 0x40
push eax
lea eax, [esp + 0x184]
push eax
lea edx, [esp + 0xe0]
lea ecx, [esp + 0x110]
call fcn.0043cfdc
add esp, 0x10
test al, al
setne byte [esp + 0xc]
test bl, 0x40
je 0x41ecb7
and ebx, 0xffffffbf
jmp 0x41eca7
cmp byte [0x5c38dc], 0
je 0x41ecb7
lea ecx, [esp + 0x148]
call fcn.00457b40
test al, al
jne 0x41ebcc
xor edx, edx
lea ecx, [esp + 0x148]
call fcn.00458200
cmp dword [0x768ca0], 0
jg 0x41ec47
push 2
pop ebx
push 0
push 0x19d
push str.e:360chrome37_srcchromeinstaller_tdsetupinstallwrite_config.cpp
lea ecx, [esp + 0x25c]
call fcn.0045ce90
mov edx, str.Creating_shortcut_to
lea ecx, [eax + 8]
call fcn.00405723
cmp dword [esp + 0x114], 8
mov edx, dword [esp + 0x100]
jae 0x41ec15
lea edx, [esp + 0x100]
mov ecx, eax
call fcn.0045d6f0
mov edx, str._at
mov ecx, eax
call fcn.00405723
cmp dword [esp + 0x18c], 8
mov edx, dword [esp + 0x178]
jae 0x41ec40
lea edx, [esp + 0x178]
mov ecx, eax
call fcn.0045d6f0
test bl, 2
je 0x41ec5b
lea ecx, [esp + 0x250]
and ebx, 0xfffffffd
call fcn.0045cee0
push 0x53fc30
lea ecx, [esp + 0xd4]
call fcn.004058f0
push ecx
push 1
lea eax, [esp + 0x228]
or ebx, 4
push eax
lea eax, [esp + 0x184]
push eax
lea edx, [esp + 0xe0]
lea ecx, [esp + 0x110]
call fcn.0043cfdc
add esp, 0x10
test al, al
setne byte [esp + 0xc]
test bl, 4
je 0x41ecb7
and ebx, 0xfffffffb
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
xor eax, eax
push 0x206
push eax
mov word [esp + 0x5c8], ax
lea eax, [esp + 0x5ca]
push eax
call fcn.005091d0
and dword [esp + 0x224], 0
xor eax, eax
add esp, 0xc
mov word [esp + 0x208], ax
lea eax, [esp + 0x5c0]
mov dword [esp + 0x21c], 7
push eax
push 0
call fcn.004307c1
push eax
push 0xb
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
jns 0x41ed1c
mov byte [esp + 0xc], 0
jmp 0x41efd6
call fcn.00420cd4
mov esi, eax
mov ecx, esi
call fcn.00420cf2
cmp dword [esi], 1
je 0x41ed41
cmp byte [esp + 0xf], 0
jne 0x41ed41
cmp byte [esp + 0xd], 0
je 0x41ee53
push str.360.lnk
lea ecx, [esp + 0xd4]
call fcn.004058f0
push 0x549090
lea ecx, [esp + 0x164]
call fcn.004058f0
push str.__incognito
lea ecx, [esp + 0xec]
call fcn.004058f0
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x134]
call fcn.00458f80
push ecx
push ecx
lea eax, [esp + 0xd8]
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x13c]
call fcn.00459bb0
push eax
lea ecx, [esp + 0x134]
call fcn.00459060
lea ecx, [esp + 0x118]
call fcn.00459030
cmp dword [esp + 0xfc], 8
mov eax, dword [esp + 0xe8]
jae 0x41edde
lea eax, [esp + 0xe8]
cmp dword [esp + 0x144], 8
mov edx, dword [esp + 0x130]
jae 0x41edf6
lea edx, [esp + 0x130]
cmp dword [esp + 0x114], 8
mov ecx, dword [esp + 0x100]
jae 0x41ee0e
lea ecx, [esp + 0x100]
push ecx
push eax
call fcn.0043d149
pop ecx
pop ecx
lea ecx, [esp + 0x130]
call fcn.00459030
push 0
push 1
lea ecx, [esp + 0xf0]
call fcn.0040536f
push 0
push 1
lea ecx, [esp + 0x168]
call fcn.0040536f
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
call fcn.00420cd4
mov esi, eax
mov ecx, esi
call fcn.00420cf2
cmp dword [esi], 1
je 0x41ee7a
cmp byte [0x5c38dc], 0
jne 0x41ee7a
cmp byte [esp + 0xd], 0
je 0x41f4ad
lea eax, [esp + 0x5c0]
push eax
call fcn.004049e1
pop ecx
push eax
lea eax, [esp + 0x5c4]
push eax
lea ecx, [esp + 0x210]
call fcn.00405941
push ecx
push ecx
lea eax, [esp + 0x210]
mov ecx, esp
push eax
call fcn.004050d6
lea ecx, [esp + 0xf0]
call fcn.00458fb0
push 0x549008
lea edx, [esp + 0x23c]
lea ecx, [esp + 0xd4]
call fcn.0041540b
push ecx
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0xf4]
call fcn.00459bb0
push eax
lea ecx, [esp + 0xec]
call fcn.00459060
lea ecx, [esp + 0x118]
call fcn.00459030
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
push 5
pop ecx
call fcn.0043c517
call fcn.00440157
test al, al
jne 0x41efca
mov esi, 0x200
cmp byte [esp + 0xc], al
je 0x41ef8d
push 0x53fc30
lea ecx, [esp + 0xd4]
call fcn.004058f0
push ecx
push 1
or ebx, 0x100
lea ecx, [esp + 0x120]
push 0x53fc30
or ebx, esi
call fcn.004058f0
push eax
lea eax, [esp + 0xf4]
push eax
lea edx, [esp + 0xe0]
lea ecx, [esp + 0x110]
call fcn.0043cfdc
add esp, 0x10
mov byte [esp + 0xc], 1
test al, al
jne 0x41ef92
mov byte [esp + 0xc], 0
test esi, ebx
je 0x41efac
push 0
push 1
lea ecx, [esp + 0x120]
and ebx, 0xfffffdff
call fcn.0040536f
test ebx, 0x100
je 0x41efca
push 0
push 1
lea ecx, [esp + 0xd8]
and ebx, 0xfffffeff
call fcn.0040536f
lea ecx, [esp + 0xe8]
call fcn.00459030
cmp byte [0x5c38dc], 0
je 0x41f4ad
call fcn.00440157
test al, al
jne 0x41f4ad
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x164]
call fcn.00458f80
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0xe8]
push 0x549008
push edx
mov eax, dword [ecx]
call dword [eax + 0x4c]
mov edx, eax
lea ecx, [esp + 0xd4]
call fcn.0041545e
push ecx
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x16c]
call fcn.00459bb0
push eax
lea ecx, [esp + 0x164]
call fcn.00459060
lea ecx, [esp + 0x118]
call fcn.00459030
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
push 0
push 1
lea ecx, [esp + 0xf0]
call fcn.0040536f
call fcn.00420cd4
mov esi, eax
mov ecx, esi
call fcn.00420cf2
cmp dword [esi], 1
je 0x41f0bf
call fcn.00420cd4
mov ecx, eax
call fcn.00420e44
test al, al
jne 0x41f0bf
call fcn.00420cd4
mov esi, eax
mov ecx, esi
call fcn.00420cf2
cmp dword [esi], 2
je 0x41f0bf
cmp byte [esp + 0xe], 1
jne 0x41f4a1
push 0x5490d4
lea ecx, [esp + 0xd4]
call fcn.004058f0
lea edx, [esp + 0xd0]
lea ecx, [esp + 0x148]
call fcn.0043cb75
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
lea ecx, [esp + 0x148]
call fcn.00457b40
test al, al
jne 0x41f111
xor edx, edx
lea ecx, [esp + 0x148]
call fcn.00458200
call fcn.0041fa7f
push dword [esp + 0x10]
mov edx, edi
lea ecx, [esp + 0xd4]
call fcn.0042044c
pop ecx
push eax
lea ecx, [esp + 0xec]
call fcn.004075a4
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
lea eax, [esp + 0xd0]
push eax
push ecx
push ecx
mov ecx, esp
push dword [esp + 0x20]
call fcn.004050d6
lea ecx, [esp + 0x19c]
call fcn.00458fb0
mov ecx, eax
call fcn.004599a0
mov edx, eax
lea ecx, [esp + 0xe8]
call fcn.0043bf45
lea ecx, [esp + 0xd0]
call fcn.00459030
lea ecx, [esp + 0x190]
call fcn.00459030
and dword [esp + 0x1b8], 0
lea ecx, [esp + 0x1a8]
xor eax, eax
mov dword [esp + 0x1bc], 7
xor dl, dl
mov word [esp + 0x1a8], ax
call fcn.0041d9d9
cmp dword [0x768ca0], 0
mov esi, 0x400
jg 0x41f213
push 0
push 0x1fb
push str.e:360chrome37_srcchromeinstaller_tdsetupinstallwrite_config.cpp
lea ecx, [esp + 0x25c]
or ebx, esi
call fcn.0045ce90
mov edx, str.Creating_updating_uninstall_link_at
lea ecx, [eax + 8]
call fcn.00405723
cmp dword [esp + 0x174], 8
mov edx, dword [esp + 0x160]
jae 0x41f20c
lea edx, [esp + 0x160]
mov ecx, eax
call fcn.0045d6f0
test esi, ebx
je 0x41f229
lea ecx, [esp + 0x250]
and ebx, 0xfffffbff
call fcn.0045cee0
push ecx
push ecx
lea eax, [esp + 0xf0]
mov ecx, esp
push eax
call fcn.004050d6
lea ecx, [esp + 0x120]
call fcn.00458fb0
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x11c]
call fcn.00459820
push str.uninstall.ico
lea ecx, [esp + 0xd4]
call fcn.004058f0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.004050d6
lea eax, [esp + 0x198]
push eax
lea ecx, [esp + 0x13c]
call fcn.00459bb0
push eax
lea ecx, [esp + 0x134]
call fcn.00459060
lea ecx, [esp + 0x190]
call fcn.00459030
push 0
push 1
lea ecx, [esp + 0xd8]
call fcn.0040536f
cmp dword [esp + 0x144], 8
mov eax, dword [esp + 0x130]
jae 0x41f2ca
lea eax, [esp + 0x130]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
lea ecx, [esp + 0x250]
test eax, eax
je 0x41f37d
call fcn.0046aa80
push ecx
push ecx
lea eax, [esp + 0xf0]
mov ecx, esp
push eax
call fcn.004050d6
lea ecx, [esp + 0x198]
call fcn.00458fb0
push eax
lea ecx, [esp + 0x254]
call fcn.00459060
or dword [esp + 0x2e8], 1
lea ecx, [esp + 0x190]
call fcn.00459030
test ebx, 0x800
je 0x41f334
lea ecx, [esp + 0x20]
call fcn.0045cee0
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [esp + 0x1ac]
push ebx
push eax
lea ecx, [esp + 0x28c]
call fcn.004059ba
or dword [esp + 0x2e8], 4
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x2b4]
call fcn.00459060
or dword [esp + 0x2e8], 0x10
mov dword [esp + 0x2c8], ebx
jmp 0x41f437
call fcn.0046aa80
push ecx
push ecx
lea eax, [esp + 0xf0]
mov ecx, esp
push eax
call fcn.004050d6
lea ecx, [esp + 0x198]
call fcn.00458fb0
push eax
lea ecx, [esp + 0x254]
call fcn.00459060
or dword [esp + 0x2e8], 1
lea ecx, [esp + 0x190]
call fcn.00459030
test ebx, 0x1000
je 0x41f3d1
lea ecx, [esp + 0x20]
call fcn.0045cee0
push 0xffffffffffffffff
xor ebx, ebx
lea eax, [esp + 0x1ac]
push ebx
push eax
lea ecx, [esp + 0x28c]
call fcn.004059ba
or dword [esp + 0x2e8], 4
lea eax, [esp + 0xe8]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.004050d6
lea ecx, [esp + 0x198]
call fcn.00458fb0
push eax
lea ecx, [esp + 0x2b4]
call fcn.00459060
or dword [esp + 0x2e8], 0x10
lea ecx, [esp + 0x190]
mov dword [esp + 0x2c8], ebx
call fcn.00459030
cmp byte [esp + 0xc], bl
je 0x41f45b
push ebx
lea edx, [esp + 0x254]
lea ecx, [esp + 0x164]
call fcn.0046abf0
mov byte [esp + 0x10], 1
pop ecx
test al, al
jne 0x41f45f
mov byte [esp + 0xc], bl
lea ecx, [esp + 0x250]
call fcn.0046ab00
lea ecx, [esp + 0x130]
call fcn.00459030
lea ecx, [esp + 0x118]
call fcn.00459030
push ebx
push 1
lea ecx, [esp + 0x1b0]
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0xf0]
call fcn.0040536f
lea ecx, [esp + 0x160]
call fcn.00459030
call fcn.00440165
cmp eax, 4
jg 0x41f511
xor eax, eax
mov dword [esp + 0xfc], 7
xor ebx, ebx
mov word [esp + 0xe8], ax
lea ecx, [esp + 0xe8]
mov dword [esp + 0xf8], ebx
call fcn.0043ee05
test al, al
je 0x41f4f9
push fcn.0043f002
lea edx, [esp + 0xec]
mov ecx, edi
call fcn.0043d2b0
pop ecx
mov ecx, edi
call fcn.0043e203
push ebx
push 1
lea ecx, [esp + 0xf0]
call fcn.0040536f
jmp 0x41f55b
call fcn.00420cd4
mov esi, eax
mov ecx, esi
call fcn.00420cf2
cmp dword [esi], 1
je 0x41f534
cmp byte [0x5c38dc], 0
jne 0x41f534
cmp byte [esp + 0xd], 0
je 0x41f559
push 3
pop esi
cmp dword [esp + 0x114], 8
mov ecx, dword [esp + 0x100]
jae 0x41f54f
lea ecx, [esp + 0x100]
xor edx, edx
call fcn.0043e414
dec esi
jne 0x41f537
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0x210]
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0x108]
call fcn.0040536f
lea ecx, [esp + 0x178]
call fcn.00459030
push ebx
push 1
lea ecx, [esp + 0x308]
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0x228]
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0x240]
call fcn.0040536f
lea ecx, [esp + 0x148]
call fcn.00459030
push ebx
push 1
lea ecx, [esp + 0x1c8]
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0x1f8]
call fcn.0040536f
push ebx
push 1
lea ecx, [esp + 0x1e0]
call fcn.0040536f
mov ecx, dword [esp + 0x7cc]
mov al, byte [esp + 0xc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00501d03
mov esp, ebp
pop ebp
ret