Function at 0x422670
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4687dc
mov eax, dword fs:[0]
push eax
mov eax, 0x248c
call fcn.00454790
mov eax, dword [0x48807c]
xor eax, esp
mov dword [esp + 0x2488], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48807c]
xor eax, esp
push eax
lea eax, [esp + 0x24a0]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x24b0]
mov esi, ecx
push ebx
push str.ProcessSectionCopyFiles_____s__n
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], ebx
call fcn.004454c0
mov ecx, dword [esi + 4]
add esp, 8
xor edi, edi
push edi
lea eax, [esp + 0x258]
push eax
push ebx
push str.TargetPath
call fcn.004099f0
test al, al
je 0x42270a
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x254]
mov word [esp + eax + 0xe84], cx
add eax, 2
cmp cx, di
jne 0x4226f0
jmp 0x42276f
push edi
lea ecx, [esp + 0x258]
push ecx
mov ecx, dword [esi + 4]
push str.Default
push str.TargetPath
call fcn.004099f0
test al, al
je 0x42274a
xor eax, eax
jmp 0x422730
movzx ecx, word [esp + eax + 0x254]
mov word [esp + eax + 0xe84], cx
add eax, 2
cmp cx, di
jne 0x422730
jmp 0x42276f
mov eax, dword [esi + 8]
add eax, 0x624
lea edx, [esp + 0xe84]
sub edx, eax
jmp 0x422760
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x422760
lea edx, [esp + 0xe84]
push edx
mov ecx, esi
call fcn.004190c0
mov ecx, dword [esi + 0xc]
push edi
lea eax, [esp + 0xe88]
push eax
call fcn.00449880
push edi
lea ecx, [esp + 0x258]
push ecx
mov ecx, dword [esi + 4]
push ebx
push str.SourcePath
call fcn.004099f0
test al, al
je 0x42282f
xor eax, eax
movzx ecx, word [esp + eax + 0x254]
mov word [esp + eax + 0x45c], cx
add eax, 2
cmp cx, di
jne 0x4227b0
lea edx, [esp + 0x45c]
push edx
mov ecx, esi
call fcn.004190c0
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x870]
push ecx
push 0x104
lea edx, [esp + 0x468]
push edx
mov dword [esp + 0x30], edi
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x86c]
mov word [esp + eax + 0x45c], cx
add eax, 2
cmp cx, di
jne 0x422800
lea eax, [esp + 0x45c]
push eax
push str.wszSectionSourcePath___s__n
call fcn.004454c0
add esp, 8
jmp 0x422894
push edi
lea ecx, [esp + 0x258]
push ecx
mov ecx, dword [esi + 4]
push str.Default
push str.SourcePath
call fcn.004099f0
test al, al
mov eax, dword [esi + 8]
je 0x422877
lea edx, [esp + 0x254]
push edx
add eax, 0x41c
push eax
lea ecx, [esp + 0x464]
push 0x46ab98
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x422894
add eax, 0x41c
lea edx, [esp + 0x45c]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x422885
lea edx, [esp + 0x45c]
push edx
mov ecx, esi
call fcn.004190c0
mov byte [esp + 0x1f], 0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x45c]
mov word [esp + eax + 0x254], cx
add eax, 2
cmp cx, di
jne 0x4228b0
lea eax, [esp + 0x254]
push eax
call fcn.0045471b
lea eax, [esp + 0x258]
add esp, 4
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x4228e2
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x24c], 0x2e
jne 0x422922
cmp word [esp + eax*2 + 0x24e], 0x63
jne 0x422922
cmp word [esp + eax*2 + 0x250], 0x61
jne 0x422922
cmp word [esp + eax*2 + 0x252], 0x62
jne 0x422922
mov byte [esp + 0x1f], 1
push 0xa48
mov dword [esp + 0x2c], edi
call fcn.004534f0
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x24a8], edi
cmp eax, edi
je 0x42294f
mov ecx, eax
call fcn.00445080
mov dword [esp + 0x20], eax
jmp 0x422953
mov dword [esp + 0x20], edi
push edi
lea ecx, [esp + 0x14a0]
push ecx
mov ecx, dword [esi + 4]
push edi
push ebx
mov dword [esp + 0x24b8], 0xffffffff
call fcn.00409a10
test al, al
je 0x423404
lea esp, [esp]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x149c]
push edx
push eax
push ecx
push str.__s___d____s__n
call fcn.004454c0
push 0x206
xor ebx, ebx
lea eax, [esp + 0x12aa]
xor edx, edx
push ebx
push eax
mov word [esp + 0x12b0], dx
call fcn.00453450
push 0x1c2d0
mov byte [esp + 0x37], bl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
call fcn.004534f0
add esp, 0x20
mov dword [esp + 0x30], eax
mov dword [esp + 0x24a8], 1
cmp eax, ebx
je 0x4229fa
mov ecx, eax
call fcn.00444be0
mov ebp, eax
mov dword [esp + 0x3c], eax
jmp 0x422a00
xor ebp, ebp
mov dword [esp + 0x3c], ebp
push 0x474298
lea ecx, [esp + 0x14a0]
push ecx
mov ecx, ebp
mov dword [esp + 0x24b0], 0xffffffff
call fcn.00444e30
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], esi
jle 0x422eaf
lea edi, [esi + 2]
cmp byte [ebp + 0x1c2cc], 0
je 0x422a57
cmp esi, dword [ebp + 0x1c2c8]
jl 0x422a49
xor eax, eax
jmp 0x422a6d
mov edx, esi
shl edx, 0xb
lea eax, [edx + ebp + 0x32c8]
jmp 0x422a6d
cmp esi, dword [ebp + 0x1c2c8]
jl 0x422a63
xor eax, eax
jmp 0x422a6d
mov eax, esi
imul eax, eax, 0x104
add eax, ebp
push eax
push esi
push str.___d____s__n
call fcn.004454c0
add esp, 0xc
cmp esi, 4
ja case.0x422a85.1
jmp dword [esi*4 + 0x423448]
cmp byte [ebp + 0x1c2cc], 0
je 0x422aa9
cmp dword [ebp + 0x1c2c8], ebx
jg 0x422aa1
xor eax, eax
jmp 0x422ab7
lea eax, [ebp + 0x32c8]
jmp 0x422ab7
xor eax, eax
cmp dword [ebp + 0x1c2c8], ebx
setle al
dec eax
and eax, ebp
push eax
lea eax, [esp + 0x460]
push eax
lea ecx, [esp + 0x66c]
push 0x46ab98
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
cmp byte [ebp + 0x1c2cc], 0
je 0x422af3
cmp dword [ebp + 0x1c2c8], ebx
jg 0x422aeb
xor eax, eax
jmp 0x422b01
lea eax, [ebp + 0x32c8]
jmp 0x422b01
xor eax, eax
cmp dword [ebp + 0x1c2c8], ebx
setle al
dec eax
and eax, ebp
push eax
lea edx, [esp + 0xe88]
push edx
lea eax, [esp + 0x54]
push 0x46ab98
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
xor eax, eax
nop
movzx ecx, word [esp + eax + 0x45c]
mov word [esp + eax + 0x86c], cx
add eax, edi
cmp cx, bx
jne 0x422b20
cmp byte [ebp + 0x1c2cc], 0
je 0x422b54
cmp dword [ebp + 0x1c2c8], ebx
jg 0x422b4c
xor ecx, ecx
jmp 0x422b62
lea ecx, [ebp + 0x32c8]
jmp 0x422b62
xor ecx, ecx
cmp dword [ebp + 0x1c2c8], ebx
setle cl
dec ecx
and ecx, ebp
lea edx, [esp + 0x86c]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bx
jne 0x422b70
jmp case.0x422a85.1
cmp byte [ebp + 0x1c2cc], 0
je 0x422ba1
cmp dword [ebp + 0x1c2c8], edi
jg 0x422b99
xor eax, eax
jmp 0x422bb3
lea eax, [ebp + 0x42c8]
jmp 0x422bb3
cmp dword [ebp + 0x1c2c8], edi
jg 0x422bad
xor eax, eax
jmp 0x422bb3
lea eax, [ebp + 0x208]
push eax
lea ecx, [esp + 0x460]
push ecx
lea edx, [esp + 0x66c]
push 0x46ab98
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
xor eax, eax
jmp 0x422be0
movzx ecx, word [esp + eax + 0x45c]
mov word [esp + eax + 0x86c], cx
add eax, edi
cmp cx, bx
jne 0x422be0
cmp byte [ebp + 0x1c2cc], 0
je 0x422c14
cmp dword [ebp + 0x1c2c8], edi
jg 0x422c0c
xor ecx, ecx
jmp 0x422c26
lea ecx, [ebp + 0x42c8]
jmp 0x422c26
cmp dword [ebp + 0x1c2c8], edi
jg 0x422c20
xor ecx, ecx
jmp 0x422c26
lea ecx, [ebp + 0x208]
lea edx, [esp + 0x86c]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bx
jne 0x422c30
jmp case.0x422a85.1
cmp byte [ebp + 0x1c2cc], 0
je 0x422c62
cmp dword [ebp + 0x1c2c8], 3
jg 0x422c5a
xor eax, eax
jmp 0x422c75
lea eax, [ebp + 0x4ac8]
jmp 0x422c75
cmp dword [ebp + 0x1c2c8], 3
jg 0x422c6f
xor eax, eax
jmp 0x422c75
lea eax, [ebp + 0x30c]
push str.COPY_NEW_FILE
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x422c8c
mov byte [esp + 0x17], 1
cmp byte [ebp + 0x1c2cc], 0
je 0x422caa
cmp dword [ebp + 0x1c2c8], 3
jg 0x422ca2
xor eax, eax
jmp 0x422cbd
lea eax, [ebp + 0x4ac8]
jmp 0x422cbd
cmp dword [ebp + 0x1c2c8], 3
jg 0x422cb7
xor eax, eax
jmp 0x422cbd
lea eax, [ebp + 0x30c]
push str.COPY_NEW_FILE_CHECK_USING_SYSTEM_SECTION
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x422cd9
mov byte [esp + 0x17], 1
mov byte [esp + 0x1c], 1
cmp byte [ebp + 0x1c2cc], 0
je 0x422cf7
cmp dword [ebp + 0x1c2c8], 3
jg 0x422cef
xor eax, eax
jmp 0x422d0a
lea eax, [ebp + 0x4ac8]
jmp 0x422d0a
cmp dword [ebp + 0x1c2c8], 3
jg 0x422d04
xor eax, eax
jmp 0x422d0a
lea eax, [ebp + 0x30c]
push str.IGNORE_FAILED
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne case.0x422a85.1
mov byte [esp + 0x1e], 1
jmp case.0x422a85.1
cmp byte [ebp + 0x1c2cc], 0
je 0x422d48
cmp dword [ebp + 0x1c2c8], 3
jg 0x422d40
xor eax, eax
jmp 0x422d5b
lea eax, [ebp + 0x4ac8]
jmp 0x422d5b
cmp dword [ebp + 0x1c2c8], 3
jg 0x422d55
xor eax, eax
jmp 0x422d5b
lea eax, [ebp + 0x30c]
push str.ADD_TO_DRIVER_DEP_LIST
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne case.0x422a85.1
push 0x206
lea ecx, [esp + 0x872]
push ebx
push ecx
mov word [esp + 0x878], ax
call fcn.00453450
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x422dad
cmp dword [ebp + 0x1c2c8], 4
jg 0x422da5
xor ecx, ecx
jmp 0x422dc0
lea ecx, [ebp + 0x52c8]
jmp 0x422dc0
cmp dword [ebp + 0x1c2c8], 4
jg 0x422dba
xor ecx, ecx
jmp 0x422dc0
lea ecx, [ebp + 0x410]
lea edx, [esp + 0x86c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bx
jne 0x422dc7
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x86c]
push edx
call fcn.004190c0
cmp word [esp + 0x86c], bx
je case.0x422a85.1
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x874]
push edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 0xf000c
mov dword [esp + 0x30], ebx
call sub.WINSPOOL.DRV_OpenPrinterW
test eax, eax
je case.0x422a85.1
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x24]
push eax
push ebx
push ebx
push edi
push ecx
call sub.WINSPOOL.DRV_GetPrinterW
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x422e96
push eax
call fcn.00453c61
mov ecx, dword [esp + 0x30]
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x24]
push edx
push eax
push esi
push edi
push ecx
call sub.WINSPOOL.DRV_GetPrinterW
test eax, eax
je 0x422e89
mov ecx, dword [esi + 0x10]
cmp ecx, ebx
je 0x422e89
lea edx, [esp + 0x1294]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bx
jne 0x422e75
mov byte [esp + 0x1d], 1
push esi
call fcn.00453c56
mov esi, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x2c]
push edx
call sub.WINSPOOL.DRV_ClosePrinter
inc esi
cmp esi, dword [esp + 0x30]
mov dword [esp + 0x38], esi
jl 0x422a34
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
cmp byte [eax + 0x1e89], 0
je 0x422ec9
call fcn.0040bbb0
jmp 0x4233c3
lea edx, [esp + 0x4c]
push edx
push 0xffffffffffffffff
push 3
call fcn.00418e80
cmp byte [esp + 0x1f], 0
jne 0x423008
lea eax, [esp + 0x664]
push eax
lea ecx, [esp + 0x50]
push ecx
push str.CopyFile___DES:__s___SRC:__s__n
call fcn.004454c0
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 0xc]
add esp, 0xc
push str..inf
lea edx, [esp + 0x668]
push edx
or edi, 0xffffffff
call fcn.004495e0
test eax, eax
jne 0x422f52
mov ecx, dword [esi + 0xc]
push str..pnf
lea eax, [esp + 0x668]
push eax
call fcn.004495e0
test eax, eax
jne 0x422f52
push str..ini
lea ecx, [esp + 0x668]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.004495e0
test eax, eax
je 0x422fbf
push str._INI_PNF_n
call fcn.004454c0
add esp, 4
cmp byte [esp + 0x1c], 0
je 0x422f91
push str.system
lea edx, [esp + 0x668]
push edx
mov ecx, esi
call fcn.0041dbb0
mov ecx, dword [esp + 0x18]
mov esi, eax
push str.system
lea eax, [esp + 0x50]
push eax
call fcn.0041dbb0
jmp 0x422fb0
lea ecx, [esp + 0x664]
push ecx
mov ecx, esi
call fcn.0041dee0
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x4c]
push edx
mov esi, eax
call fcn.0041dee0
cmp esi, eax
jbe 0x422fb9
mov edi, 1
jne 0x422fd6
xor edi, edi
jmp 0x422fd6
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x668]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.0044ecd0
mov edi, eax
cmp byte [esp + 0x17], 0
je 0x4230d4
cmp edi, 1
jge 0x4230dd
push str._SRC:_Old_or_the_same_dont_copy_n
call fcn.004454c0
add esp, 4
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x4c]
push edx
push ebx
push 3
call fcn.00418e80
mov bl, byte [esp + 0x1d]
movzx eax, bl
push eax
push str.bAddToDependentList___d__n
call fcn.004454c0
lea ecx, [esp + 0x129c]
push ecx
push str.wszDriverName___s__n
call fcn.004454c0
add esp, 0x10
test bl, bl
je 0x4233c3
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xc]
push 0
lea edx, [esp + 0x50]
push edx
call fcn.004496a0
test al, al
je 0x4233c3
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0xa7e]
push edx
mov word [esp + 0xa80], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0xc92]
push ecx
mov word [esp + 0xc94], ax
call fcn.00453450
mov esi, dword [esp + 0x30]
mov ecx, dword [esi + 0xc]
add esp, 0x18
lea edx, [esp + 0xa74]
push edx
push 0
lea eax, [esp + 0x54]
push eax
call fcn.0044a990
mov ecx, dword [esi + 0xc]
call fcn.0044b710
test eax, eax
je 0x4231ad
lea ecx, [esp + 0x1294]
push ecx
push str.SYSTEMCurrentControlSetControlPrintEnvironmentsWindows_x64DriversVersion_3_s
lea edx, [esp + 0xc84]
push edx
jmp 0x4231c2
cmp edi, 0xffffffff
jle 0x422ff7
lea edx, [esp + 0x664]
push edx
lea eax, [esp + 0x50]
push eax
push str.CopyFile___DES:__s___SRC:__s__n
call fcn.004454c0
mov esi, dword [esp + 0x24]
add esp, 0xc
push ebx
push ebx
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x670]
push edx
call fcn.0044bf30
test eax, eax
je 0x423122
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
jmp 0x423000
push ebx
push ebx
lea ecx, [esp + 0x54]
push ecx
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x670]
push edx
call fcn.0044ea50
test eax, eax
je 0x423161
lea eax, [esp + 0x4c]
push eax
push ebx
push 3
mov ecx, esi
call fcn.00418e80
push 1
push ebx
push ebx
push 0x8901
mov ecx, esi
call fcn.00418f60
jmp 0x423008
cmp byte [esp + 0x1e], 0
lea ecx, [esp + 0x4c]
push ecx
je 0x423192
mov ecx, dword [esi + 0xc]
call fcn.0044b790
test eax, eax
jne 0x423186
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x4c]
push edx
call fcn.0044a070
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
jmp 0x423000
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 3
mov ecx, esi
call fcn.00418e80
mov dword [esi + 0x2ac0], ebx
jmp 0x423008
lea eax, [esp + 0x1294]
push eax
push str.SYSTEMCurrentControlSetControlPrintEnvironmentsWindows_NT_x86DriversVersion_3_s
lea ecx, [esp + 0xc84]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push 0x20019
push 0
push 0
push str.Dependent_Files
lea edx, [esp + 0xc8c]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b00
mov edi, eax
add esp, 0x18
test edi, edi
je 0x4233c3
push edi
call fcn.00453c61
push edi
mov esi, eax
push 0
push esi
call fcn.00453450
push 0x20019
push edi
push esi
push str.Dependent_Files
lea eax, [esp + 0xc9c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b00
lea ecx, [esp + 0xa9c]
push ecx
push str._wszFileName___s__n
mov ebx, eax
mov edi, esi
call fcn.004454c0
add esp, 0x30
cmp byte [esi], 0
je 0x4232ed
lea esp, [esp]
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1096]
push eax
mov word [esp + 0x1098], dx
call fcn.00453450
lea edx, [esp + 0x1098]
add esp, 0xc
mov eax, edi
sub edx, edi
jmp 0x423280
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x423280
lea ecx, [esp + 0x108c]
push ecx
push str._wszTemp___s__n
call fcn.004454c0
lea edx, [esp + 0x1094]
push edx
lea eax, [esp + 0xa80]
push eax
call fcn.00453ad3
add esp, 0x10
test eax, eax
je 0x4233b6
lea eax, [esp + 0x108c]
lea edx, [eax + 2]
jmp 0x4232d0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4232d0
sub eax, edx
sar eax, 1
cmp byte [edi + eax*2 + 2], cl
lea edi, [edi + eax*2 + 2]
jne 0x423250
test ebx, ebx
je 0x4233b6
lea ecx, [esp + 0xa74]
push ecx
push str._wszFileName___s__not_in_Dependent_Files_list_n
call fcn.004454c0
lea eax, [esp + 0xa7c]
add esp, 8
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x423314
sub eax, edx
sar eax, 1
lea edi, [ebx + eax*2 + 2]
push edi
call fcn.00453c61
push edi
mov ebp, eax
push 0
push ebp
call fcn.00453450
push ebx
push esi
push ebp
call fcn.00454170
lea eax, [esp + 0xa90]
add esp, 0x1c
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x423350
sub eax, edx
sar eax, 1
lea edx, [eax + eax]
push edx
lea eax, [esp + 0xa78]
push eax
lea ecx, [ebx + ebp - 2]
push ecx
call fcn.00454170
push esi
call fcn.00453c56
push edi
call fcn.00453c61
push edi
mov esi, eax
push ebp
push esi
call fcn.00454170
push ebp
call fcn.00453c56
push 0x20006
push edi
push esi
push str.Dependent_Files
lea edx, [esp + 0xcb0]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00451b30
mov ebp, dword [esp + 0x78]
add esp, 0x3c
test esi, esi
je 0x4233c3
push esi
call fcn.00453c56
add esp, 4
test ebp, ebp
je 0x4233d7
mov ecx, ebp
call fcn.0043df40
push ebp
call fcn.004534ca
add esp, 4
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
push 0
inc eax
lea ecx, [esp + 0x14a0]
push ecx
push eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
push edx
call fcn.00409a10
test al, al
jne 0x422980
mov esi, dword [esp + 0x20]
test esi, esi
je 0x42341c
mov ecx, esi
call fcn.004452e0
push esi
call fcn.004534ca
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x24a0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2488]
xor ecx, esp
call fcn.00453432
add esp, 0x2498
ret 4