Function at 0x4357b0
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 0x43ac7f
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.00437730
mov dword [ebp - 4], 0
mov dword [ebp - 0x244], 0
lea ecx, [ebp - 0x24]
call fcn.00402690
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00402690
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00402690
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00402690
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438240
mov byte [ebp - 4], 5
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x18]
call fcn.00401e20
lea ecx, [ebp - 0x240]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00438550
lea edx, [ebp - 0x24]
push edx
lea ecx, [ebp - 0x18]
call fcn.004386f0
lea ecx, [ebp - 0x24]
call fcn.00403220
movzx eax, al
test eax, eax
je 0x4358ea
push 0x371
push str.Self_Update_7z_Result
push 0x4429f4
push str.empty_arm_update_folder
call fcn.0042ed30
add esp, 0x10
mov dword [ebp - 0x490], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438220
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437450
mov eax, dword [ebp - 0x490]
jmp 0x436634
push 0x442a28
lea ecx, [ebp - 0x240]
push ecx
call fcn.004030e0
add esp, 8
movzx edx, al
test edx, edx
je 0x43654b
push 0x442a30
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x494]
push ecx
call fcn.00402f60
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.00402eb0
add esp, 0xc
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x494]
call fcn.00407a90
lea edx, [ebp - 0x24c]
push edx
lea ecx, [ebp - 0x248]
call fcn.00408060
mov byte [ebp - 4], 9
push 0x442a34
lea ecx, [ebp - 0x498]
call fcn.004026b0
mov byte [ebp - 4], 0xa
push 0
lea eax, [ebp - 0x24c]
push eax
lea ecx, [ebp - 0x498]
push ecx
push 2
call fcn.00437ae0
add esp, 0x10
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x498]
call fcn.00407a90
lea ecx, [ebp - 0x24c]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x4364ab
mov dword [ebp - 0x254], 1
mov dword [ebp - 0x258], 0
lea ecx, [ebp - 0x250]
call fcn.00402690
mov byte [ebp - 4], 0xb
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea ecx, [ebp - 0x24c]
call fcn.00403210
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.0042b200
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x260]
call fcn.00401dc0
movzx eax, al
test eax, eax
je 0x435cb8
push 0x442a68
mov ecx, dword [ebp - 0x264]
push ecx
lea ecx, [ebp - 0x24c]
call fcn.00403210
push eax
call fcn.0042b1b0
add esp, 0xc
test eax, eax
je 0x435bf2
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.00403210
push eax
call sub.msi.dll_MsiOpenProductW
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
jne 0x435b0e
push 0x442af8
lea ecx, [ebp - 0x49c]
call fcn.004026b0
mov byte [ebp - 4], 0xe
lea edx, [ebp - 0x250]
push edx
lea eax, [ebp - 0x49c]
push eax
lea ecx, [ebp - 0x268]
call fcn.00403210
push eax
call fcn.0042e460
add esp, 0xc
mov dword [ebp - 0x244], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x49c]
call fcn.00407a90
lea ecx, [ebp - 0x268]
call fcn.00403210
push eax
call sub.msi.dll_MsiConfigureFeatureFromDescriptorA
jmp 0x435bde
push 0x3ee
push 0x442b10
lea ecx, [ebp - 0x24c]
call fcn.00403210
push eax
push 0x442b40
call fcn.0042ed30
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.0042b230
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438220
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437450
mov eax, dword [ebp - 0x4a0]
jmp 0x436634
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x268]
call fcn.00401700
jmp 0x435cb3
push 0x3ee
push 0x442b68
lea ecx, [ebp - 0x24c]
call fcn.00403210
push eax
push 0x442b98
call fcn.0042ed30
add esp, 0x10
mov dword [ebp - 0x4a4], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.0042b230
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438220
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437450
mov eax, dword [ebp - 0x4a4]
jmp 0x436634
jmp 0x435d79
push 0x3ee
push 0x442bbc
lea ecx, [ebp - 0x24c]
call fcn.00403210
push eax
push 0x442bf0
call fcn.0042ed30
add esp, 0x10
mov dword [ebp - 0x4a8], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.0042b230
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438220
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437450
mov eax, dword [ebp - 0x4a8]
jmp 0x436634
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x260]
call fcn.0042b230
cmp dword [ebp - 0x244], 0
jne 0x435ea9
lea ecx, [ebp - 0x250]
call fcn.00403220
movzx ecx, al
test ecx, ecx
jne 0x435ea9
lea ecx, [ebp - 0x26c]
call fcn.00402690
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x270], 0
jmp 0x435dd5
mov edx, dword [ebp - 0x270]
add edx, 1
mov dword [ebp - 0x270], edx
cmp dword [ebp - 0x244], 0
jne 0x435e98
cmp dword [ebp - 0x258], 0
jne 0x435e98
push 0x104
lea ecx, [ebp - 0x26c]
call fcn.004031d0
push eax
mov eax, dword [ebp - 0x270]
push eax
push 0
push 0x442c30
call sub.msi.dll_MsiSourceListClearAllW
mov dword [ebp - 0x244], eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x26c]
call fcn.00403240
cmp dword [ebp - 0x244], 0
jne 0x435e93
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x26c]
push edx
call fcn.004030c0
add esp, 8
movzx eax, al
test eax, eax
je 0x435e93
mov dword [ebp - 0x258], 1
push str.found_already_installed_Product:
lea ecx, [ebp - 0x4ac]
call fcn.004026b0
mov byte [ebp - 4], 0x10
push 0
lea ecx, [ebp - 0x26c]
push ecx
lea edx, [ebp - 0x4ac]
push edx
push 1
call fcn.00437ae0
add esp, 0x10
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x4ac]
call fcn.00407a90
jmp 0x435dc6
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x26c]
call fcn.00407a90
jmp 0x435edf
push str.failed_to_get_ProductCode
lea ecx, [ebp - 0x4b0]
call fcn.004026b0
mov byte [ebp - 4], 0x11
push 0
lea eax, [ebp - 0x4b0]
push eax
push 2
call fcn.004381a0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4b0]
call fcn.00407a90
push 0
push 2
call sub.msi.dll_MsiSetPropertyW
cmp dword [ebp - 0x258], 0
je 0x436062
push 4
lea ecx, [ebp - 0x250]
call fcn.00403210
push eax
call sub.msi.dll_MsiSetComponentStateW
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x435f23
cmp dword [ebp - 0x244], 0xbc2
jne 0x435f6f
mov dword [ebp - 0x254], 0
push str.successfully_reinstalled_Product:
lea ecx, [ebp - 0x4b4]
call fcn.004026b0
mov byte [ebp - 4], 0x12
push 0
lea ecx, [ebp - 0x250]
push ecx
lea edx, [ebp - 0x4b4]
push edx
push 2
call fcn.00437ae0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4b4]
call fcn.00407a90
jmp 0x436062
push str.failed_to_reinstall__will_uninstall_Product:
lea ecx, [ebp - 0x4b8]
call fcn.004026b0
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.00437ae0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4b8]
call fcn.00407a90
push 2
push 1
lea ecx, [ebp - 0x250]
call fcn.00403210
push eax
call sub.msi.dll_MsiDatabaseCommit
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x435fe1
cmp dword [ebp - 0x244], 0xbc2
jne 0x436020
push str.successfully_uninstalled_Product:
lea ecx, [ebp - 0x4bc]
call fcn.004026b0
mov byte [ebp - 4], 0x14
push 0
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x4bc]
push ecx
push 2
call fcn.00437ae0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4bc]
call fcn.00407a90
jmp 0x436062
push str.failed_to_uninstall_Product:
lea ecx, [ebp - 0x4c0]
call fcn.004026b0
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.00437ae0
add esp, 0x10
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4c0]
call fcn.00407a90
cmp dword [ebp - 0x254], 0
je 0x43626e
lea edx, [ebp - 0x24c]
push edx
lea eax, [ebp - 0x250]
push eax
call fcn.00433740
add esp, 8
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x43612d
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x4c4], ecx
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a90
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438220
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437450
mov eax, dword [ebp - 0x4c4]
jmp 0x436634
lea edx, [ebp - 0x20]
push edx
call fcn.0042b760
add esp, 4
test eax, eax
je 0x436164
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x20]
push ecx
call fcn.00432200
add esp, 8
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x436164
lea ecx, [ebp - 0x1c]
call fcn.00403120
push 0x442e20
lea ecx, [ebp - 0x24c]
call fcn.00403210
push eax
call sub.msi.dll_MsiOpenDatabaseW
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x244], 0
je 0x436238
cmp dword [ebp - 0x244], 0xbc2
jne 0x4361d1
push str.msi_self_update_returned_REBOOT
lea ecx, [ebp - 0x4c8]
call fcn.004026b0
mov byte [ebp - 4], 0x16
push 0
lea edx, [ebp - 0x4c8]
push edx
push 1
call fcn.004381a0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4c8]
call fcn.00407a90
jmp 0x436236
push 0x442e68
lea ecx, [ebp - 0x4cc]
call fcn.004026b0
mov byte [ebp - 4], 0x17
push str.msi_self_update_failed
lea ecx, [ebp - 0x4d0]
call fcn.004026b0
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.00437ae0
add esp, 0x10
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x4d0]
call fcn.00407a90
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4cc]
call fcn.00407a90
jmp 0x43626e
push str.msi_self_update_succeeded
lea ecx, [ebp - 0x4d4]
call fcn.004026b0
mov byte [ebp - 4], 0x19
push 0
lea eax, [ebp - 0x4d4]
push eax
push 2
call fcn.004381a0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4d4]
call fcn.00407a90
mov byte [ebp - 0x4d5], 0
lea ecx, [ebp - 0x4d5]
push ecx
mov edx, dword [ebp - 0x244]
push edx
push 0x442ed0
lea ecx, [ebp - 0x23c]
call fcn.004377b0
lea eax, [ebp - 0x1c]
push eax
call fcn.00401d70
add esp, 4
test eax, eax
je 0x43639f
lea ecx, [ebp - 0x20]
call fcn.00403220
movzx ecx, al
test ecx, ecx
jne 0x43633f
lea edx, [ebp - 0x20]
push edx
call fcn.00401d70
add esp, 4
test eax, eax
jne 0x43633f
push str.AdobeARM.exe_is_missing_after_install__will_use_backup
lea ecx, [ebp - 0x4dc]
call fcn.004026b0
mov byte [ebp - 4], 0x1a
push 0
lea eax, [ebp - 0x4dc]
push eax
push 1
call fcn.004381a0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x4dc]
call fcn.00407a90
mov byte [ebp - 0x4dd], 0
lea ecx, [ebp - 0x4dd]
push ecx
push 0
push 0x442f70
push 0x442f74
lea ecx, [ebp - 0x23c]
call fcn.00437530
push 0
lea ecx, [ebp - 0x20]
call fcn.00403210
push eax
lea ecx, [ebp - 0x1c]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ecx, [ebp - 0x1c]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push 0
push 0x442fac
lea ecx, [ebp - 0x1c]
call fcn.00402b70
mov dword [ebp - 0x274], eax
cmp dword [ebp - 0x274], 0xffffffff
je 0x43639f
mov edx, dword [ebp - 0x274]
push edx
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x1c]
call fcn.00402df0
lea ecx, [ebp - 0x278]
call fcn.00403210
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
lea ecx, [ebp - 0x278]
call fcn.00407a90
call fcn.00433350
cmp dword [ebp - 0x244], 0
je 0x4363bd
cmp dword [ebp - 0x244], 0xbc2
jne 0x436497
push 0x104
push 0
lea ecx, [ebp - 0x484]
push ecx
call fcn.00414840
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 0x436497
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0x48c]
call fcn.004026b0
mov byte [ebp - 4], 0x1b
push str.AdobeARMS
lea ecx, [ebp - 0x48c]
call fcn.00402810
call fcn.00432860
test eax, eax
je 0x436465
call fcn.00432770
test eax, eax
je 0x436465
push 1
lea ecx, [ebp - 0x48c]
call fcn.00403210
push eax
push str.tFolders
mov ecx, 0x452d24
call fcn.00403210
push eax
push 0x80000002
call fcn.0042e610
add esp, 0x14
call fcn.00431a60
jmp 0x436488
push ecx
mov ecx, esp
mov dword [ebp - 0x4e4], esp
lea edx, [ebp - 0x48c]
push edx
call fcn.00408060
mov dword [ebp - 0x504], eax
call fcn.00434070
add esp, 4
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x48c]
call fcn.00407a90
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x250]
call fcn.00407a90
jmp 0x43652b
push 0x442ff8
lea ecx, [ebp - 0x4e8]
call fcn.004026b0
mov byte [ebp - 4], 0x1c
push str.msi_self_update_file_not_found
lea ecx, [ebp - 0x4ec]
call fcn.004026b0
mov byte [ebp - 4], 0x1d
push 2
lea eax, [ebp - 0x4e8]
push eax
lea ecx, [ebp - 0x4ec]
push ecx
push 1
call fcn.00437ae0
add esp, 0x10
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x4ec]
call fcn.00407a90
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4e8]
call fcn.00407a90
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.004377b0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x248]
call fcn.00407a90
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x24c]
call fcn.00407a90
jmp 0x436588
push str.unknown_or_not_supported_self_update_type:
lea ecx, [ebp - 0x4f4]
call fcn.004026b0
mov byte [ebp - 4], 0x1e
push 0
lea eax, [ebp - 0x240]
push eax
lea ecx, [ebp - 0x4f4]
push ecx
push 1
call fcn.00437ae0
add esp, 0x10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4f4]
call fcn.00407a90
lea ecx, [ebp - 0x10]
call fcn.00402690
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0x18]
call fcn.00438840
push 0x452d00
lea eax, [ebp - 0x10]
push eax
call fcn.004030c0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4365c5
push 0x4430c8
mov ecx, dword [ebp + 8]
call fcn.004027d0
mov edx, dword [ebp - 0x244]
mov dword [ebp - 0x4f8], edx
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x10]
call fcn.00407a90
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x18]
call fcn.00438220
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1c]
call fcn.00407a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x20]
call fcn.00407a90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x240]
call fcn.00407a90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x24]
call fcn.00407a90
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x23c]
call fcn.00437450
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.00414831
mov esp, ebp
pop ebp
ret