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

Disassembly:
push 0xffffffffffffffff
push 0x45f71c
mov eax, dword fs:[0]
push eax
mov eax, 0x248c
call fcn.0044bf30
mov eax, dword [0x47b038]
xor eax, esp
mov dword [esp + 0x2488], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47b038]
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.0043e2c0
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.00409080
test al, al
je 0x41f4da
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 0x41f4c0
jmp 0x41f53f
push edi
lea ecx, [esp + 0x258]
push ecx
mov ecx, dword [esi + 4]
push str.Default
push str.TargetPath
call fcn.00409080
test al, al
je 0x41f51a
xor eax, eax
jmp 0x41f500
movzx ecx, word [esp + eax + 0x254]
mov word [esp + eax + 0xe84], cx
add eax, 2
cmp cx, di
jne 0x41f500
jmp 0x41f53f
mov eax, dword [esi + 8]
add eax, 0x624
lea edx, [esp + 0xe84]
sub edx, eax
jmp 0x41f530
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x41f530
lea edx, [esp + 0xe84]
push edx
mov ecx, esi
call fcn.004160e0
mov ecx, dword [esi + 0xc]
push edi
lea eax, [esp + 0xe88]
push eax
call fcn.004423b0
push edi
lea ecx, [esp + 0x258]
push ecx
mov ecx, dword [esi + 4]
push ebx
push str.SourcePath
call fcn.00409080
test al, al
je 0x41f5ff
xor eax, eax
movzx ecx, word [esp + eax + 0x254]
mov word [esp + eax + 0x45c], cx
add eax, 2
cmp cx, di
jne 0x41f580
lea edx, [esp + 0x45c]
push edx
mov ecx, esi
call fcn.004160e0
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 0x41f5d0
lea eax, [esp + 0x45c]
push eax
push str.wszSectionSourcePath___s__n
call fcn.0043e2c0
add esp, 8
jmp 0x41f664
push edi
lea ecx, [esp + 0x258]
push ecx
mov ecx, dword [esi + 4]
push str.Default
push str.SourcePath
call fcn.00409080
test al, al
mov eax, dword [esi + 8]
je 0x41f647
lea edx, [esp + 0x254]
push edx
add eax, 0x41c
push eax
lea ecx, [esp + 0x464]
push 0x461a90
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
jmp 0x41f664
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 0x41f655
lea edx, [esp + 0x45c]
push edx
mov ecx, esi
call fcn.004160e0
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 0x41f680
lea eax, [esp + 0x254]
push eax
call fcn.0044bebb
lea eax, [esp + 0x258]
add esp, 4
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x41f6b2
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0x24c], 0x2e
jne 0x41f6f2
cmp word [esp + eax*2 + 0x24e], 0x63
jne 0x41f6f2
cmp word [esp + eax*2 + 0x250], 0x61
jne 0x41f6f2
cmp word [esp + eax*2 + 0x252], 0x62
jne 0x41f6f2
mov byte [esp + 0x1f], 1
push 0xa48
mov dword [esp + 0x2c], edi
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x30], eax
mov dword [esp + 0x24a8], edi
cmp eax, edi
je 0x41f71f
mov ecx, eax
call fcn.0043de80
mov dword [esp + 0x20], eax
jmp 0x41f723
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.004090a0
test al, al
je 0x4201c4
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.0043e2c0
push 0x206
xor ebx, ebx
lea eax, [esp + 0x12aa]
xor edx, edx
push ebx
push eax
mov word [esp + 0x12b0], dx
call fcn.0044ac90
push 0x1c2d0
mov byte [esp + 0x37], bl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], bl
call fcn.0044ad7f
add esp, 0x20
mov dword [esp + 0x30], eax
mov dword [esp + 0x24a8], 1
cmp eax, ebx
je 0x41f7ca
mov ecx, eax
call fcn.0043d9e0
mov ebp, eax
mov dword [esp + 0x3c], eax
jmp 0x41f7d0
xor ebp, ebp
mov dword [esp + 0x3c], ebp
push 0x469868
lea ecx, [esp + 0x14a0]
push ecx
mov ecx, ebp
mov dword [esp + 0x24b0], 0xffffffff
call fcn.0043dc30
xor esi, esi
cmp eax, ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], esi
jle 0x41fc7f
lea edi, [esi + 2]
cmp byte [ebp + 0x1c2cc], 0
je 0x41f827
cmp esi, dword [ebp + 0x1c2c8]
jl 0x41f819
xor eax, eax
jmp 0x41f83d
mov edx, esi
shl edx, 0xb
lea eax, [edx + ebp + 0x32c8]
jmp 0x41f83d
cmp esi, dword [ebp + 0x1c2c8]
jl 0x41f833
xor eax, eax
jmp 0x41f83d
mov eax, esi
imul eax, eax, 0x104
add eax, ebp
push eax
push esi
push str.___d____s__n
call fcn.0043e2c0
add esp, 0xc
cmp esi, 4
ja case.0x41f855.1
jmp dword [esi*4 + 0x420208]
cmp byte [ebp + 0x1c2cc], 0
je 0x41f879
cmp dword [ebp + 0x1c2c8], ebx
jg 0x41f871
xor eax, eax
jmp 0x41f887
lea eax, [ebp + 0x32c8]
jmp 0x41f887
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 0x461a90
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
cmp byte [ebp + 0x1c2cc], 0
je 0x41f8c3
cmp dword [ebp + 0x1c2c8], ebx
jg 0x41f8bb
xor eax, eax
jmp 0x41f8d1
lea eax, [ebp + 0x32c8]
jmp 0x41f8d1
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 0x461a90
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 0x41f8f0
cmp byte [ebp + 0x1c2cc], 0
je 0x41f924
cmp dword [ebp + 0x1c2c8], ebx
jg 0x41f91c
xor ecx, ecx
jmp 0x41f932
lea ecx, [ebp + 0x32c8]
jmp 0x41f932
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 0x41f940
jmp case.0x41f855.1
cmp byte [ebp + 0x1c2cc], 0
je 0x41f971
cmp dword [ebp + 0x1c2c8], edi
jg 0x41f969
xor eax, eax
jmp 0x41f983
lea eax, [ebp + 0x42c8]
jmp 0x41f983
cmp dword [ebp + 0x1c2c8], edi
jg 0x41f97d
xor eax, eax
jmp 0x41f983
lea eax, [ebp + 0x208]
push eax
lea ecx, [esp + 0x460]
push ecx
lea edx, [esp + 0x66c]
push 0x461a90
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
xor eax, eax
jmp 0x41f9b0
movzx ecx, word [esp + eax + 0x45c]
mov word [esp + eax + 0x86c], cx
add eax, edi
cmp cx, bx
jne 0x41f9b0
cmp byte [ebp + 0x1c2cc], 0
je 0x41f9e4
cmp dword [ebp + 0x1c2c8], edi
jg 0x41f9dc
xor ecx, ecx
jmp 0x41f9f6
lea ecx, [ebp + 0x42c8]
jmp 0x41f9f6
cmp dword [ebp + 0x1c2c8], edi
jg 0x41f9f0
xor ecx, ecx
jmp 0x41f9f6
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 0x41fa00
jmp case.0x41f855.1
cmp byte [ebp + 0x1c2cc], 0
je 0x41fa32
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fa2a
xor eax, eax
jmp 0x41fa45
lea eax, [ebp + 0x4ac8]
jmp 0x41fa45
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fa3f
xor eax, eax
jmp 0x41fa45
lea eax, [ebp + 0x30c]
push str.COPY_NEW_FILE
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x41fa5c
mov byte [esp + 0x17], 1
cmp byte [ebp + 0x1c2cc], 0
je 0x41fa7a
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fa72
xor eax, eax
jmp 0x41fa8d
lea eax, [ebp + 0x4ac8]
jmp 0x41fa8d
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fa87
xor eax, eax
jmp 0x41fa8d
lea eax, [ebp + 0x30c]
push str.COPY_NEW_FILE_CHECK_USING_SYSTEM_SECTION
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x41faa9
mov byte [esp + 0x17], 1
mov byte [esp + 0x1c], 1
cmp byte [ebp + 0x1c2cc], 0
je 0x41fac7
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fabf
xor eax, eax
jmp 0x41fada
lea eax, [ebp + 0x4ac8]
jmp 0x41fada
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fad4
xor eax, eax
jmp 0x41fada
lea eax, [ebp + 0x30c]
push str.IGNORE_FAILED
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne case.0x41f855.1
mov byte [esp + 0x1e], 1
jmp case.0x41f855.1
cmp byte [ebp + 0x1c2cc], 0
je 0x41fb18
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fb10
xor eax, eax
jmp 0x41fb2b
lea eax, [ebp + 0x4ac8]
jmp 0x41fb2b
cmp dword [ebp + 0x1c2c8], 3
jg 0x41fb25
xor eax, eax
jmp 0x41fb2b
lea eax, [ebp + 0x30c]
push str.ADD_TO_DRIVER_DEP_LIST
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne case.0x41f855.1
push 0x206
lea ecx, [esp + 0x872]
push ebx
push ecx
mov word [esp + 0x878], ax
call fcn.0044ac90
add esp, 0xc
cmp byte [ebp + 0x1c2cc], 0
je 0x41fb7d
cmp dword [ebp + 0x1c2c8], 4
jg 0x41fb75
xor ecx, ecx
jmp 0x41fb90
lea ecx, [ebp + 0x52c8]
jmp 0x41fb90
cmp dword [ebp + 0x1c2c8], 4
jg 0x41fb8a
xor ecx, ecx
jmp 0x41fb90
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 0x41fb97
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x86c]
push edx
call fcn.004160e0
cmp word [esp + 0x86c], bx
je case.0x41f855.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.0x41f855.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 0x41fc66
push eax
call fcn.0044b473
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 0x41fc59
mov ecx, dword [esi + 0x10]
cmp ecx, ebx
je 0x41fc59
lea edx, [esp + 0x1294]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, edi
add edx, edi
cmp ax, bx
jne 0x41fc45
mov byte [esp + 0x1d], 1
push esi
call fcn.0044b468
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 0x41f804
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 8]
cmp byte [eax + 0x1e89], 0
je 0x41fc99
call fcn.0040b1b0
jmp 0x420183
lea edx, [esp + 0x4c]
push edx
push 0xffffffffffffffff
push 3
call fcn.00415ea0
cmp byte [esp + 0x1f], 0
jne 0x41fdd8
lea eax, [esp + 0x664]
push eax
lea ecx, [esp + 0x50]
push ecx
push str.CopyFile___DES:__s___SRC:__s__n
call fcn.0043e2c0
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.00442110
test eax, eax
jne 0x41fd22
mov ecx, dword [esi + 0xc]
push str..pnf
lea eax, [esp + 0x668]
push eax
call fcn.00442110
test eax, eax
jne 0x41fd22
push str..ini
lea ecx, [esp + 0x668]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.00442110
test eax, eax
je 0x41fd8f
push str._INI_PNF_n
call fcn.0043e2c0
add esp, 4
cmp byte [esp + 0x1c], 0
je 0x41fd61
push str.system
lea edx, [esp + 0x668]
push edx
mov ecx, esi
call fcn.0041a9f0
mov ecx, dword [esp + 0x18]
mov esi, eax
push str.system
lea eax, [esp + 0x50]
push eax
call fcn.0041a9f0
jmp 0x41fd80
lea ecx, [esp + 0x664]
push ecx
mov ecx, esi
call fcn.0041ad20
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x4c]
push edx
mov esi, eax
call fcn.0041ad20
cmp esi, eax
jbe 0x41fd89
mov edi, 1
jne 0x41fda6
xor edi, edi
jmp 0x41fda6
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x668]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.004475b0
mov edi, eax
cmp byte [esp + 0x17], 0
je 0x41fea4
cmp edi, 1
jge 0x41fead
push str._SRC:_Old_or_the_same_dont_copy_n
call fcn.0043e2c0
add esp, 4
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x4c]
push edx
push ebx
push 3
call fcn.00415ea0
mov bl, byte [esp + 0x1d]
movzx eax, bl
push eax
push str.bAddToDependentList___d__n
call fcn.0043e2c0
lea ecx, [esp + 0x129c]
push ecx
push str.wszDriverName___s__n
call fcn.0043e2c0
add esp, 0x10
test bl, bl
je 0x420183
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0xc]
push 0
lea edx, [esp + 0x50]
push edx
call fcn.004421d0
test al, al
je 0x420183
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0xa7e]
push edx
mov word [esp + 0xa80], cx
call fcn.0044ac90
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0xc92]
push ecx
mov word [esp + 0xc94], ax
call fcn.0044ac90
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.004434c0
mov ecx, dword [esi + 0xc]
call fcn.00444240
test eax, eax
je 0x41ff7b
lea ecx, [esp + 0x1294]
push ecx
push str.SYSTEMCurrentControlSetControlPrintEnvironmentsWindows_x64DriversVersion_3_s
lea edx, [esp + 0xc84]
push edx
jmp 0x41ff90
cmp edi, 0xffffffff
jle 0x41fdc7
lea edx, [esp + 0x664]
push edx
lea eax, [esp + 0x50]
push eax
push str.CopyFile___DES:__s___SRC:__s__n
call fcn.0043e2c0
mov esi, dword [esp + 0x24]
add esp, 0xc
push ebx
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x66c]
push edx
call fcn.004449d0
test eax, eax
je 0x41fef1
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
jmp 0x41fdd0
push ebx
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x66c]
push edx
call fcn.00447340
test eax, eax
je 0x41ff2f
lea eax, [esp + 0x4c]
push eax
push ebx
push 3
mov ecx, esi
call fcn.00415ea0
push 1
push ebx
push ebx
push 0x8901
mov ecx, esi
call fcn.00415f80
jmp 0x41fdd8
cmp byte [esp + 0x1e], 0
lea ecx, [esp + 0x4c]
push ecx
je 0x41ff60
mov ecx, dword [esi + 0xc]
call fcn.004442c0
test eax, eax
jne 0x41ff54
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x4c]
push edx
call fcn.00442ba0
lea eax, [esp + 0x4c]
push eax
mov ecx, esi
jmp 0x41fdd0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 3
mov ecx, esi
call fcn.00415ea0
mov dword [esi + 0x28b8], ebx
jmp 0x41fdd8
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.0044a3e0
mov edi, eax
add esp, 0x18
test edi, edi
je 0x420183
push edi
call fcn.0044b473
push edi
mov esi, eax
push 0
push esi
call fcn.0044ac90
push 0x20019
push edi
push esi
push str.Dependent_Files
lea eax, [esp + 0xc9c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0044a3e0
lea ecx, [esp + 0xa9c]
push ecx
push str._wszFileName___s__n
mov ebx, eax
mov edi, esi
call fcn.0043e2c0
add esp, 0x30
cmp byte [esi], 0
je 0x4200ad
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1096]
push eax
mov word [esp + 0x1098], dx
call fcn.0044ac90
lea edx, [esp + 0x1098]
add esp, 0xc
mov eax, edi
sub edx, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x420042
lea ecx, [esp + 0x108c]
push ecx
push str._wszTemp___s__n
call fcn.0043e2c0
lea edx, [esp + 0x1094]
push edx
lea eax, [esp + 0xa80]
push eax
call fcn.0044b362
add esp, 0x10
test eax, eax
je 0x420176
lea eax, [esp + 0x108c]
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x420090
sub eax, edx
sar eax, 1
cmp byte [edi + eax*2 + 2], cl
lea edi, [edi + eax*2 + 2]
jne 0x420017
test ebx, ebx
je 0x420176
lea ecx, [esp + 0xa74]
push ecx
push str._wszFileName___s__not_in_Dependent_Files_list_n
call fcn.0043e2c0
lea eax, [esp + 0xa7c]
add esp, 8
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4200d4
sub eax, edx
sar eax, 1
lea edi, [ebx + eax*2 + 2]
push edi
call fcn.0044b473
push edi
mov ebp, eax
push 0
push ebp
call fcn.0044ac90
push ebx
push esi
push ebp
call fcn.0044b910
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 0x420110
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.0044b910
push esi
call fcn.0044b468
push edi
call fcn.0044b473
push edi
mov esi, eax
push ebp
push esi
call fcn.0044b910
push ebp
call fcn.0044b468
push 0x20006
push edi
push esi
push str.Dependent_Files
lea edx, [esp + 0xcb0]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0044a410
mov ebp, dword [esp + 0x78]
add esp, 0x3c
test esi, esi
je 0x420183
push esi
call fcn.0044b468
add esp, 4
test ebp, ebp
je 0x420197
mov ecx, ebp
call fcn.0043d490
push ebp
call fcn.0044ad0a
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.004090a0
test al, al
jne 0x41f750
mov esi, dword [esp + 0x20]
test esi, esi
je 0x4201dc
mov ecx, esi
call fcn.0043e0e0
push esi
call fcn.0044ad0a
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.0044ac80
add esp, 0x2498
ret 4