Function at 0x4355b0
Capabilities:
Check if file exists
Copy file
Delete directory
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43aa5f
mov eax, dword fs:[0]
push eax
sub esp, 0x4f8
mov eax, dword [0x44eca0]
xor eax, ebp
mov dword [ebp - 0x28], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x23c]
call fcn.00437530
mov dword [ebp - 4], 0
mov dword [ebp - 0x244], 0
lea ecx, [ebp - 0x24]
call fcn.00402670
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00402670
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00402670
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00402670
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438040
mov byte [ebp - 4], 5
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x18]
call fcn.00401e00
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00438350
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x18]
call fcn.004384f0
lea ecx, [ebp - 0x24]
call fcn.00403200
movzx eax, al
test eax, eax
je 0x4356ea
push 0x371
push str.Self_Update_7z_Result
push 0x442924
push str.empty_arm_update_folder
call fcn.0042eb30
add esp, 0x10
mov dword [ebp - 0x490], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438020
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437250
mov eax, dword [ebp - 0x490]
jmp 0x436434
push 0x442958
lea ecx, [ebp - 0x240]
push ecx
call fcn.004030c0
add esp, 8
movzx edx, al
test edx, edx
je 0x43634b
push 0x442960
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x494]
push ecx
call fcn.00402f40
add esp, 0xc
mov dword [ebp - 0x4fc], eax
mov edx, dword [ebp - 0x4fc]
mov dword [ebp - 0x500], edx
mov byte [ebp - 4], 6
push 0x452cfc
mov eax, dword [ebp - 0x500]
push eax
lea ecx, [ebp - 0x24c]
push ecx
call fcn.00402e90
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x494]
call fcn.00407a70
lea edx, [ebp - 0x24c]
push edx
lea ecx, [ebp - 0x248]
call fcn.00408040
mov byte [ebp - 4], 9
push 0x442964
lea ecx, [ebp - 0x498]
call fcn.00402690
mov byte [ebp - 4], 0xa
push 0
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x498]
push ecx
push 2
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x498]
call fcn.00407a70
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4362ab
mov dword [ebp - 0x254], 1
mov dword [ebp - 0x258], 0
lea ecx, [ebp - 0x250]
call fcn.00402670
mov byte [ebp - 4], 0xb
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x264], eax
mov edx, dword [ebp - 0x264]
push edx
lea ecx, [ebp - 0x260]
call fcn.0042b000
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x260]
call fcn.00401da0
movzx eax, al
test eax, eax
je 0x435ab8
push 0x442998
mov ecx, dword [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
call fcn.0042afb0
add esp, 0xc
test eax, eax
je 0x4359f2
lea ecx, [ebp - 0x268]
call fcn.004016e0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x268]
call fcn.00401720
push eax
push 0
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
call sub.msi.dll_MsiOpenProductW
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jne 0x43590e
push 0x442a28
lea ecx, [ebp - 0x49c]
call fcn.00402690
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x250]
push edx
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x268]
call fcn.004031f0
push eax
call fcn.0042e260
add esp, 0xc
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x49c]
call fcn.00407a70
lea ecx, [ebp - 0x268]
call fcn.004031f0
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
jmp 0x4359de
push 0x3ee
push 0x442a40
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
push 0x442a70
call fcn.0042eb30
add esp, 0x10
mov dword [ebp - 0x4a0], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x268]
call fcn.00401700
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.0042b030
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a70
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438020
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437250
mov eax, dword [ebp - 0x4a0]
jmp 0x436434
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x268]
call fcn.00401700
jmp 0x435ab3
push 0x3ee
push 0x442a98
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
push 0x442ac8
call fcn.0042eb30
add esp, 0x10
mov dword [ebp - 0x4a4], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.0042b030
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a70
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438020
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437250
mov eax, dword [ebp - 0x4a4]
jmp 0x436434
jmp 0x435b79
push 0x3ee
push 0x442aec
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
push 0x442b20
call fcn.0042eb30
add esp, 0x10
mov dword [ebp - 0x4a8], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.0042b030
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a70
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438020
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437250
mov eax, dword [ebp - 0x4a8]
jmp 0x436434
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.0042b030
cmp dword [ebp - 0x244], 0
jne 0x435ca9
lea ecx, [ebp - 0x250]
call fcn.00403200
movzx ecx, al
test ecx, ecx
jne 0x435ca9
lea ecx, [ebp - 0x26c]
call fcn.00402670
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x270], 0
jmp 0x435bd5
mov edx, dword [ebp - 0x270]
add edx, 1
mov dword [ebp - 0x270], edx
cmp dword [ebp - 0x244], 0
jne 0x435c98
cmp dword [ebp - 0x258], 0
jne 0x435c98
push 0x104
lea ecx, [ebp - 0x26c]
call fcn.004031b0
push eax
mov eax, dword [ebp - 0x270]
push eax
push 0
push 0x442b60
call sub.msi.dll_MsiSourceListClearAllW
mov dword [ebp - 0x244], eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x26c]
call fcn.00403220
cmp dword [ebp - 0x244], 0
jne 0x435c93
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x26c]
push edx
call fcn.004030a0
add esp, 8
movzx eax, al
test eax, eax
je 0x435c93
mov dword [ebp - 0x258], 1
push str.found_already_installed_Product:
lea ecx, [ebp - 0x4ac]
call fcn.00402690
mov byte [ebp - 4], 0x10
push 0
lea ecx, [ebp - 0x26c]
push ecx
lea edx, [ebp - 0x4ac]
push edx
push 1
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x4ac]
call fcn.00407a70
jmp 0x435bc6
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x26c]
call fcn.00407a70
jmp 0x435cdf
push str.failed_to_get_ProductCode
lea ecx, [ebp - 0x4b0]
call fcn.00402690
mov byte [ebp - 4], 0x11
push 0
lea eax, [ebp - 0x4b0]
push eax
push 2
call fcn.00437fa0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4b0]
call fcn.00407a70
push 0
push 2
call sub.msi.dll_MsiSetPropertyW
cmp dword [ebp - 0x258], 0
je 0x435e62
push 4
lea ecx, [ebp - 0x250]
call fcn.004031f0
push eax
call sub.msi.dll_MsiSetComponentStateW
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x435d23
cmp dword [ebp - 0x244], 0xbc2
jne 0x435d6f
mov dword [ebp - 0x254], 0
push str.successfully_reinstalled_Product:
lea ecx, [ebp - 0x4b4]
call fcn.00402690
mov byte [ebp - 4], 0x12
push 0
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x4b4]
push edx
push 2
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4b4]
call fcn.00407a70
jmp 0x435e62
push str.failed_to_reinstall__will_uninstall_Product:
lea ecx, [ebp - 0x4b8]
call fcn.00402690
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x244]
push eax
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x4b8]
push edx
push 1
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4b8]
call fcn.00407a70
push 2
push 1
lea ecx, [ebp - 0x250]
call fcn.004031f0
push eax
call sub.msi.dll_MsiDatabaseCommit
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x435de1
cmp dword [ebp - 0x244], 0xbc2
jne 0x435e20
push str.successfully_uninstalled_Product:
lea ecx, [ebp - 0x4bc]
call fcn.00402690
mov byte [ebp - 4], 0x14
push 0
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x4bc]
push ecx
push 2
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4bc]
call fcn.00407a70
jmp 0x435e62
push str.failed_to_uninstall_Product:
lea ecx, [ebp - 0x4c0]
call fcn.00402690
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x244]
push edx
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x4c0]
push ecx
push 1
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4c0]
call fcn.00407a70
cmp dword [ebp - 0x254], 0
je 0x43606e
lea edx, [ebp - 0x24c]
push edx
lea eax, [ebp - 0x250]
push eax
call fcn.00433540
add esp, 8
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x435f2d
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x4c4], ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a70
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438020
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437250
mov eax, dword [ebp - 0x4c4]
jmp 0x436434
lea edx, [ebp - 0x20]
push edx
call fcn.0042b560
add esp, 4
test eax, eax
je 0x435f64
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.00432000
add esp, 8
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x435f64
lea ecx, [ebp - 0x1c]
call fcn.00403100
push 0x442d50
lea ecx, [ebp - 0x24c]
call fcn.004031f0
push eax
call sub.msi.dll_MsiOpenDatabaseW
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x436038
cmp dword [ebp - 0x244], 0xbc2
jne 0x435fd1
push str.msi_self_update_returned_REBOOT
lea ecx, [ebp - 0x4c8]
call fcn.00402690
mov byte [ebp - 4], 0x16
push 0
lea edx, [ebp - 0x4c8]
push edx
push 1
call fcn.00437fa0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4c8]
call fcn.00407a70
jmp 0x436036
push 0x442d98
lea ecx, [ebp - 0x4cc]
call fcn.00402690
mov byte [ebp - 4], 0x17
push str.msi_self_update_failed
lea ecx, [ebp - 0x4d0]
call fcn.00402690
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x244]
push eax
lea ecx, [ebp - 0x4cc]
push ecx
lea edx, [ebp - 0x4d0]
push edx
push 1
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4d0]
call fcn.00407a70
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4cc]
call fcn.00407a70
jmp 0x43606e
push str.msi_self_update_succeeded
lea ecx, [ebp - 0x4d4]
call fcn.00402690
mov byte [ebp - 4], 0x19
push 0
lea eax, [ebp - 0x4d4]
push eax
push 2
call fcn.00437fa0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4d4]
call fcn.00407a70
mov byte [ebp - 0x4d5], 0
lea ecx, [ebp - 0x4d5]
push ecx
mov edx, dword [ebp - 0x244]
push edx
push 0x442e00
lea ecx, [ebp - 0x23c]
call fcn.004375b0
lea eax, [ebp - 0x1c]
push eax
call fcn.00401d50
add esp, 4
test eax, eax
je 0x43619f
lea ecx, [ebp - 0x20]
call fcn.00403200
movzx ecx, al
test ecx, ecx
jne 0x43613f
lea edx, [ebp - 0x20]
push edx
call fcn.00401d50
add esp, 4
test eax, eax
jne 0x43613f
push str.AdobeARM.exe_is_missing_after_install__will_use_backup
lea ecx, [ebp - 0x4dc]
call fcn.00402690
mov byte [ebp - 4], 0x1a
push 0
lea eax, [ebp - 0x4dc]
push eax
push 1
call fcn.00437fa0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4dc]
call fcn.00407a70
mov byte [ebp - 0x4dd], 0
lea ecx, [ebp - 0x4dd]
push ecx
push 0
push 0x442ea0
push 0x442ea4
lea ecx, [ebp - 0x23c]
call fcn.00437330
push 0
lea ecx, [ebp - 0x20]
call fcn.004031f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.004031f0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x1c]
call fcn.004031f0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0x442edc
lea ecx, [ebp - 0x1c]
call fcn.00402b50
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0xffffffff
je 0x43619f
mov edx, dword [ebp - 0x274]
push edx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402dd0
lea ecx, [ebp - 0x278]
call fcn.004031f0
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x278]
call fcn.00407a70
call fcn.00433150
cmp dword [ebp - 0x244], 0
je 0x4361bd
cmp dword [ebp - 0x244], 0xbc2
jne 0x436297
push 0x104
push 0
lea ecx, [ebp - 0x484]
push ecx
call fcn.00414820
add esp, 0xc
lea edx, [ebp - 0x484]
push edx
push 0
push 0
push 0x23
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov dword [ebp - 0x488], eax
cmp dword [ebp - 0x488], 0
jl 0x436297
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0x48c]
call fcn.00402690
mov byte [ebp - 4], 0x1b
push str.AdobeARMS
lea ecx, [ebp - 0x48c]
call fcn.004027f0
call fcn.00432660
test eax, eax
je 0x436265
call fcn.00432570
test eax, eax
je 0x436265
push 1
lea ecx, [ebp - 0x48c]
call fcn.004031f0
push eax
push str.tFolders
mov ecx, 0x452d24
call fcn.004031f0
push eax
push 0x80000002
call fcn.0042e410
add esp, 0x14
call fcn.00431860
jmp 0x436288
push ecx
mov ecx, esp
mov dword [ebp - 0x4e4], esp
lea edx, [ebp - 0x48c]
push edx
call fcn.00408040
mov dword [ebp - 0x504], eax
call fcn.00433e70
add esp, 4
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x48c]
call fcn.00407a70
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a70
jmp 0x43632b
push 0x442f28
lea ecx, [ebp - 0x4e8]
call fcn.00402690
mov byte [ebp - 4], 0x1c
push str.msi_self_update_file_not_found
lea ecx, [ebp - 0x4ec]
call fcn.00402690
mov byte [ebp - 4], 0x1d
push 2
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x4ec]
push ecx
push 1
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x4ec]
call fcn.00407a70
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4e8]
call fcn.00407a70
mov byte [ebp - 0x4ed], 0
lea edx, [ebp - 0x4ed]
push edx
push 2
push str.Self_Update_MSI_Result
lea ecx, [ebp - 0x23c]
call fcn.004375b0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a70
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a70
jmp 0x436388
push str.unknown_or_not_supported_self_update_type:
lea ecx, [ebp - 0x4f4]
call fcn.00402690
mov byte [ebp - 4], 0x1e
push 0
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x4f4]
push ecx
push 1
call fcn.004378e0
add esp, 0x10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4f4]
call fcn.00407a70
lea ecx, [ebp - 0x10]
call fcn.00402670
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x18]
call fcn.00438640
push 0x452d00
lea eax, [ebp - 0x10]
push eax
call fcn.004030a0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4363c5
push 0x442ff8
mov ecx, dword [ebp + 8]
call fcn.004027b0
mov edx, dword [ebp - 0x244]
mov dword [ebp - 0x4f8], edx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x10]
call fcn.00407a70
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438020
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a70
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437250
mov eax, dword [ebp - 0x4f8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x28]
xor ecx, ebp
call fcn.0041480e
mov esp, ebp
pop ebp
ret