Function at 0x422050
Capabilities:
Create process on windows
Get common file path

Disassembly:
push 0xffffffffffffffff
push 0x462d96
mov eax, dword fs:[0]
push eax
mov eax, 0x3d5c
call fcn.0044f450
mov eax, dword [0x47f038]
xor eax, esp
mov dword [esp + 0x3d58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47f038]
xor eax, esp
push eax
lea eax, [esp + 0x3d70]
mov dword fs:[0], eax
mov edi, dword [esp + 0x3d80]
mov esi, ecx
push edi
xor ebp, ebp
push str.ProcessSectionExecFile_____s__n
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x24], ebp
call fcn.004412c0
push 0x206
lea ecx, [esp + 0x1d3a]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x1d40], ax
call fcn.0044e1b0
mov ecx, dword [esi + 4]
add esp, 0x14
push ebp
lea edx, [esp + 0x2758]
push edx
push str.StartApp
push edi
call fcn.00409a10
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
test al, al
je 0x4221fc
lea eax, [esp + 0x2754]
push eax
push edi
push str.__s__StartApp____s__n
call fcn.004412c0
add esp, 0xc
lea ecx, [esp + 0x2754]
push ecx
mov ecx, esi
call fcn.00417110
xor eax, eax
push 0x44
lea edx, [esp + 0x54]
push ebp
push edx
mov dword [esp + 0x10f8], eax
mov dword [esp + 0x10fc], eax
mov dword [esp + 0x1100], eax
mov dword [esp + 0x1104], eax
call fcn.0044e1b0
mov eax, 1
add esp, 0xc
mov word [esp + 0x80], ax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x50], 0x44
xor eax, eax
jmp 0x422170
movzx ecx, word [esp + eax + 0x2754]
mov word [esp + eax + 0x213c], cx
add eax, 2
cmp cx, bp
jne 0x422170
mov ecx, dword [esi + 8]
cmp byte [ecx + 0x1e89], 0
jne 0x4221fc
lea edx, [esp + 0x213c]
push edx
push 0xffffffffffffffff
push 9
mov ecx, esi
call fcn.00416eb0
lea eax, [esp + 0x10ec]
push eax
lea ecx, [esp + 0x54]
push ecx
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x215c]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4221d8
lea eax, [esp + 0x213c]
push eax
push ebp
jmp 0x4221f3
call ebx
push eax
push str.CreateProcess_failure____ld_n
call fcn.004412c0
add esp, 8
call ebx
lea ecx, [esp + 0x213c]
push ecx
push eax
push 9
mov ecx, esi
call fcn.00416eb0
mov ecx, dword [esi + 4]
lea edx, [esp + 0x1d2c]
push edx
push 1
push str.StopApp
push edi
call fcn.00409a70
test eax, eax
je 0x4224d9
push 0x206
lea ecx, [esp + 0x1102]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x1108], ax
call fcn.0044e1b0
push 0x206
lea eax, [esp + 0x151e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x1524], dx
call fcn.0044e1b0
add esp, 0x18
lea ecx, [esp + 0x10fc]
push ecx
mov ecx, dword [esi + 4]
push 2
push str.StopApp
push edi
call fcn.00409a70
mov ecx, dword [esi + 4]
lea edx, [esp + 0x150c]
push edx
push 3
push str.StopApp
push edi
call fcn.00409a70
lea eax, [esp + 0x1d2c]
push eax
push edi
push str.__s__StopApp____s__n
call fcn.004412c0
add esp, 0xc
cmp word [esp + 0x10fc], bp
je 0x4222be
lea ecx, [esp + 0x10fc]
push ecx
push str._______s__n
call fcn.004412c0
add esp, 8
cmp word [esp + 0x150c], bp
je 0x4222dd
lea edx, [esp + 0x150c]
push edx
push str._______s__n
call fcn.004412c0
add esp, 8
lea eax, [esp + 0x1d2c]
push eax
mov ecx, esi
call fcn.00417110
push 0x400
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 0xc]
call fcn.00446410
xor ecx, ecx
cmp eax, ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], ecx
jle 0x4224d9
mov edi, dword [esp + ecx*4 + 0x94]
push 3
push edi
call dword [sym.imp.USER32.dll_GetAncestor]
cmp eax, edi
jne 0x4224b6
lea edx, [esp + 0x18]
push edx
push edi
mov dword [esp + 0x20], ebp
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp dword [esp + 0x18], ebp
je 0x4224b6
push 0x30
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3d78], ebp
cmp eax, ebp
je 0x422367
mov ecx, eax
call fcn.0043b4c0
mov ebp, eax
mov ecx, dword [esp + 0x18]
push 0x104
lea eax, [esp + 0x1308]
push eax
push ecx
mov ecx, ebp
mov dword [esp + 0x3d84], 0xffffffff
call fcn.0043b440
test eax, eax
je 0x422492
lea edx, [esp + 0x1304]
push edx
push str.___wszName_____s__n
call fcn.004412c0
lea eax, [esp + 0x1d34]
push eax
lea ecx, [esp + 0x1310]
push ecx
call fcn.0044e882
add esp, 0x10
test eax, eax
jne 0x4224a2
mov edx, dword [esp + 0x18]
push edx
push str._____ProcessID____x__n
xor bl, bl
call fcn.004412c0
lea eax, [esp + 0x130c]
push eax
push 0x46f928
call fcn.004412c0
mov ax, word [esp + 0x110c]
add esp, 0x10
test ax, ax
jne 0x4223fa
mov bl, 1
mov esi, 0x10
test ax, ax
je 0x42245f
lea ecx, [esp + 0x10fc]
push str.WM_USER
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x42245f
cmp word [esp + 0x150c], ax
je 0x422437
lea edx, [esp + 0x150c]
push edx
call fcn.0044e92b
add esp, 4
lea esi, [eax + 0x400]
cmp esi, 0x400
jne 0x42244c
push str.____Send_WM_USER_Message_n
jmp 0x422464
push eax
push str.____Send_WM_USER___d_Message_n
call fcn.004412c0
add esp, 8
cmp esi, 0x10
jne 0x42246c
push str.____Send_WM_CLOSE_Message_n
call fcn.004412c0
add esp, 4
push 0
push 0
push esi
push edi
call dword [sym.imp.USER32.dll_PostMessageW]
test bl, bl
je 0x4224a2
push str.____Force_to_terminate_n
call fcn.004412c0
add esp, 4
push edi
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x4224a2
call ebx
push eax
push str.GetProcessFileName____d_n
call fcn.004412c0
add esp, 8
test ebp, ebp
je 0x4224b6
mov ecx, ebp
call fcn.00440490
push ebp
call fcn.0044e22a
add esp, 4
mov ecx, dword [esp + 0x28]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
inc ecx
xor ebp, ebp
cmp ecx, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
jl 0x422313
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + 4]
lea eax, [esp + 0x2754]
push eax
push 1
push str.InstallCmd
push edi
call fcn.00409a70
test eax, eax
je 0x422908
push 0x40e
lea edx, [esp + 0x2142]
xor ecx, ecx
push ebp
push edx
mov byte [esp + 0x23], 0
mov word [esp + 0x2148], cx
call fcn.0044e1b0
mov ecx, dword [esi + 4]
add esp, 0xc
lea eax, [esp + 0x213c]
push eax
push 2
push str.InstallCmd
push edi
call fcn.00409a70
test eax, eax
je 0x422799
lea ecx, [esp + 0x213c]
push str.CHECK_DEPENDENT_LIST
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x422799
push 0x206
lea eax, [esp + 0x130a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x1310], dx
call fcn.0044e1b0
add esp, 0xc
lea ecx, [esp + 0x1304]
push ecx
mov ecx, dword [esi + 4]
push 3
push str.InstallCmd
push edi
call fcn.00409a70
push 0x206
lea eax, [esp + 0x1512]
xor edx, edx
push ebp
push eax
mov dword [esp + 0x24], ebp
mov dword [esp + 0x30], ebp
mov word [esp + 0x1518], dx
call fcn.0044e1b0
add esp, 0xc
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [eax + str.Windows_NT_x86]
mov word [esp + eax + 0x150c], cx
add eax, 2
cmp cx, bp
jne 0x4225c0
mov ecx, dword [esi + 0xc]
call fcn.00447510
test eax, eax
je 0x422607
xor eax, eax
jmp 0x4225f0
movzx ecx, word [eax + str.Windows_x64]
mov word [esp + eax + 0x150c], cx
add eax, 2
cmp cx, bp
jne 0x4225f0
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x1c]
push edx
push ebp
push ebp
push 3
lea eax, [esp + 0x1520]
push eax
push ebp
call sub.WINSPOOL.DRV_EnumPrinterDriversW
mov eax, dword [esp + 0x18]
cmp eax, ebp
je 0x422799
push eax
call fcn.0044e993
add esp, 4
lea ecx, [esp + 0x24]
push ecx
mov edi, eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x1c]
push edx
push eax
push edi
push 3
lea ecx, [esp + 0x1520]
push ecx
push ebp
mov dword [esp + 0x4c], edi
call sub.WINSPOOL.DRV_EnumPrinterDriversW
cmp dword [esp + 0x24], ebp
jbe 0x42277c
mov ebx, dword [esp + 0x20]
add edi, 0x1c
nop
mov esi, dword [edi]
test esi, esi
je 0x42276e
cmp word [esi], 0
je 0x42276e
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1926]
push eax
mov word [esp + 0x1928], dx
call fcn.0044e1b0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1112]
push edx
mov word [esp + 0x1114], cx
call fcn.0044e1b0
lea edx, [esp + 0x1934]
add esp, 0x18
mov eax, esi
sub edx, esi
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4226d0
lea eax, [esp + 0x10fc]
push eax
push 0
lea ecx, [esp + 0x1924]
push ecx
mov ecx, dword [ebx + 0xc]
call fcn.00446790
lea edx, [esp + 0x10fc]
push edx
push str.___DEP_File___s__n
call fcn.004412c0
lea eax, [esp + 0x1104]
push eax
lea ecx, [esp + 0x1310]
push ecx
call fcn.0044e882
add esp, 0x10
test eax, eax
jne 0x422749
lea edx, [esp + 0x1304]
push edx
lea eax, [esp + 0x1100]
push eax
push str._____File___s___s__n
call fcn.004412c0
add esp, 0xc
mov byte [esp + 0x17], 1
mov eax, esi
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x422750
sub eax, edx
sar eax, 1
cmp word [esi + eax*2 + 2], cx
lea esi, [esi + eax*2 + 2]
jne 0x422684
inc ebp
add edi, 0x28
cmp ebp, dword [esp + 0x24]
jb 0x422670
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0044e988
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
add esp, 4
xor ebp, ebp
lea edx, [esp + 0x2754]
push edx
push edi
push str.__s__InstallCmd____s__n
call fcn.004412c0
add esp, 0xc
lea eax, [esp + 0x2754]
push eax
mov ecx, esi
call fcn.00417110
xor eax, eax
push 0x44
lea ecx, [esp + 0x54]
push ebp
push ecx
mov dword [esp + 0x10f8], eax
mov dword [esp + 0x10fc], eax
mov dword [esp + 0x1100], eax
mov dword [esp + 0x1104], eax
call fcn.0044e1b0
mov edx, 1
add esp, 0xc
mov dword [esp + 0x50], 0x44
mov word [esp + 0x80], dx
mov dword [esp + 0x7c], edx
xor eax, eax
jmp 0x422810
movzx ecx, word [esp + eax + 0x2754]
mov word [esp + eax + 0x3754], cx
add eax, 2
cmp cx, bp
jne 0x422810
mov eax, dword [esi + 8]
cmp byte [eax + 0x1e89], 0
je 0x42283b
mov ecx, esi
call fcn.00416fc0
mov ecx, dword [esi + 8]
cmp byte [ecx + 0x1e89], 0
jne 0x422908
cmp byte [esp + 0x17], 0
jne 0x422908
lea edx, [esp + 0x3754]
push edx
push 0xffffffffffffffff
push 9
mov ecx, esi
call fcn.00416eb0
lea eax, [esp + 0x10ec]
push eax
lea ecx, [esp + 0x54]
push ecx
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea edx, [esp + 0x3774]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x4228de
mov dword [esp + 0x28], ebp
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [esp + 0x10ec]
lea eax, [esp + 0x28]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov eax, dword [esp + 0x28]
cmp eax, 0x103
je 0x422893
cmp eax, 0x11010001
jne 0x4228d3
push 1
push ebp
push ebp
push 0x8901
mov ecx, esi
call fcn.00416f90
lea edx, [esp + 0x3754]
push edx
push ebp
jmp 0x4228ff
mov dword [esi + 0x28b8], ebp
call ebx
push eax
push str.CreateProcess_failure____ld_n
call fcn.004412c0
add esp, 8
call ebx
lea ecx, [esp + 0x3754]
push ecx
push eax
push 9
mov ecx, esi
call fcn.00416eb0
mov ecx, dword [esi + 4]
lea edx, [esp + 0x2754]
push edx
push 1
push str.InstallCmdHide
push edi
call fcn.00409a70
test eax, eax
je 0x422b0d
lea eax, [esp + 0x2754]
push eax
push edi
push str.__s__InstallCmdHide____s__n
call fcn.004412c0
add esp, 0xc
lea ecx, [esp + 0x2754]
push ecx
mov ecx, esi
call fcn.00417110
push 0x206
lea eax, [esp + 0x130a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x1310], dx
call fcn.0044e1b0
add esp, 0xc
lea ecx, [esp + 0x1304]
push ecx
mov ecx, dword [esi + 4]
push 2
push str.InstallCmdHide
push edi
call fcn.00409a70
test eax, eax
je 0x42299e
lea edx, [esp + 0x1304]
push edx
push str.wszOption____s__n
call fcn.004412c0
add esp, 8
xor eax, eax
push 0x44
mov dword [esp + 0x10f0], eax
mov dword [esp + 0x10f4], eax
mov dword [esp + 0x10f8], eax
mov dword [esp + 0x10fc], eax
lea eax, [esp + 0x54]
push ebp
push eax
call fcn.0044e1b0
xor ecx, ecx
add esp, 0xc
mov dword [esp + 0x50], 0x44
mov word [esp + 0x80], cx
mov dword [esp + 0x7c], 1
xor eax, eax
jmp 0x4229f0
movzx ecx, word [esp + eax + 0x2754]
mov word [esp + eax + 0x3754], cx
add eax, 2
cmp cx, bp
jne 0x4229f0
mov edx, dword [esi + 8]
cmp byte [edx + 0x1e89], 0
je 0x422a1b
mov ecx, esi
call fcn.00416fc0
mov eax, dword [esi + 8]
cmp byte [eax + 0x1e89], 0
jne 0x422b0d
lea ecx, [esp + 0x3754]
push ecx
push 0xffffffffffffffff
push 9
mov ecx, esi
call fcn.00416eb0
lea edx, [esp + 0x10ec]
push edx
lea eax, [esp + 0x54]
push eax
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
lea ecx, [esp + 0x3774]
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x422ae3
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov dword [esp + 0x18], ebp
push 0x1f4
call ebx
mov eax, dword [esp + 0x10ec]
lea edx, [esp + 0x18]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
lea ecx, [esp + 0x1304]
push str.NOWAIT
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
je 0x422ab1
cmp dword [esp + 0x18], 0x103
je 0x422a72
jmp 0x422abe
push str.Just_continue__dont_wait_for_the_process_to_finish_n
call fcn.004412c0
add esp, 4
cmp dword [esp + 0x18], 0x11010001
jne 0x422ad8
push 1
push ebp
push ebp
push 0x8901
mov ecx, esi
call fcn.00416f90
lea edx, [esp + 0x3754]
push edx
push ebp
jmp 0x422b04
mov dword [esi + 0x28b8], ebp
call ebx
push eax
push str.CreateProcess_failure____ld_n
call fcn.004412c0
add esp, 8
call ebx
lea ecx, [esp + 0x3754]
push ecx
push eax
push 9
mov ecx, esi
call fcn.00416eb0
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0x2758]
push edx
push str.Verify
push edi
call fcn.00409a10
test al, al
je 0x422eb8
lea eax, [esp + 0x2754]
push eax
push edi
push str.__s__Verify____s__n
call fcn.004412c0
push 0x1c2d0
call fcn.0044e29f
add esp, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3d78], 1
cmp eax, ebp
je 0x422b6a
mov ecx, eax
call fcn.004409e0
mov esi, eax
jmp 0x422b6c
xor esi, esi
push 0x1058
lea ecx, [esp + 0x98]
push 0
push ecx
mov dword [esp + 0x3d84], 0xffffffff
call fcn.0044e1b0
add esp, 0xc
push 0x46ce98
lea edx, [esp + 0x2758]
push edx
mov ecx, esi
call fcn.00440c30
cmp byte [esi + 0x1c2cc], 0
je 0x422bc0
cmp dword [esi + 0x1c2c8], 0
jg 0x422bb8
xor eax, eax
jmp 0x422bce
lea eax, [esi + 0x32c8]
jmp 0x422bce
xor eax, eax
cmp dword [esi + 0x1c2c8], eax
setle al
dec eax
and eax, esi
push str.CHECK_PRODUCT_ARP
push eax
call fcn.0044e882
add esp, 8
mov ebx, 1
test eax, eax
jne 0x422d21
cmp byte [esi + 0x1c2cc], al
je 0x422c01
cmp dword [esi + 0x1c2c8], ebx
jle 0x422c13
lea eax, [esi + 0x3ac8]
jmp 0x422c13
cmp dword [esi + 0x1c2c8], ebx
jg 0x422c0d
xor eax, eax
jmp 0x422c13
lea eax, [esi + 0x104]
mov ebp, dword [esp + 0x20]
push eax
push 0xffffffffffffffff
push 0xa
mov ecx, ebp
call fcn.00416eb0
mov eax, dword [ebp + 8]
cmp byte [eax + 0x1e89], 0
jne 0x422c9c
xor edi, edi
lea ecx, [esp + 0x94]
push ecx
push ebx
mov ecx, esi
call fcn.00401ae0
push eax
mov ecx, ebp
call fcn.0041c630
cmp byte [esp + 0x10d4], 0
jne 0x422ca6
push 0x4b0
call dword [sym.imp.KERNEL32.dll_Sleep]
add edi, ebx
cmp edi, 0x1e
jl 0x422c31
xor eax, eax
mov dword [ebp + 0x28b8], eax
cmp byte [esi + 0x1c2cc], al
je 0x422d05
cmp dword [esi + 0x1c2c8], ebx
jle 0x422d13
lea eax, [esi + 0x3ac8]
push eax
push 2
push 0xa
mov ecx, ebp
call fcn.00416eb0
jmp 0x422d25
cmp byte [esp + 0x10d4], 0
je 0x422c65
cmp byte [esi + 0x1c2cc], 0
je 0x422cda
cmp dword [esi + 0x1c2c8], ebx
jg 0x422cc6
xor eax, eax
push eax
push eax
push 0xa
mov ecx, ebp
call fcn.00416eb0
jmp 0x422d25
lea eax, [esi + 0x3ac8]
push eax
push 0
push 0xa
mov ecx, ebp
call fcn.00416eb0
jmp 0x422d25
cmp dword [esi + 0x1c2c8], ebx
jg 0x422cf1
xor eax, eax
push eax
push eax
push 0xa
mov ecx, ebp
call fcn.00416eb0
jmp 0x422d25
lea eax, [esi + 0x104]
push eax
push 0
push 0xa
mov ecx, ebp
call fcn.00416eb0
jmp 0x422d25
cmp dword [esi + 0x1c2c8], ebx
jle 0x422d13
lea eax, [esi + 0x104]
push eax
push 2
push 0xa
mov ecx, ebp
call fcn.00416eb0
jmp 0x422d25
mov ebp, dword [esp + 0x20]
cmp byte [esi + 0x1c2cc], 0
je 0x422d43
cmp dword [esi + 0x1c2c8], 0
jg 0x422d3b
xor eax, eax
jmp 0x422d51
lea eax, [esi + 0x32c8]
jmp 0x422d51
xor eax, eax
cmp dword [esi + 0x1c2c8], eax
setle al
dec eax
and eax, esi
push str.VERIFY_FILE
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x422e9e
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1106]
push eax
mov word [esp + 0x1108], dx
call fcn.0044e1b0
add esp, 0xc
cmp byte [esi + 0x1c2cc], 0
je 0x422da4
cmp dword [esi + 0x1c2c8], ebx
jg 0x422d9c
xor ecx, ecx
jmp 0x422db6
lea ecx, [esi + 0x3ac8]
jmp 0x422db6
cmp dword [esi + 0x1c2c8], ebx
jg 0x422db0
xor ecx, ecx
jmp 0x422db6
lea ecx, [esi + 0x104]
lea edx, [esp + 0x10fc]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x422dc0
cmp word [esp + 0x10fc], ax
je 0x422dea
lea ecx, [esp + 0x10fc]
push ecx
mov ecx, ebp
call fcn.00417110
lea edx, [esp + 0x10fc]
push edx
push 0xffffffffffffffff
push 0xa
mov ecx, ebp
call fcn.00416eb0
cmp word [esp + 0x10fc], 0
je 0x422e59
mov ecx, dword [ebp + 0xc]
push 0
lea eax, [esp + 0x1100]
push eax
call fcn.004454a0
test al, al
je 0x422e59
cmp byte [esi + 0x1c2cc], 0
je 0x422e40
cmp dword [esi + 0x1c2c8], ebx
jg 0x422e35
xor eax, eax
push eax
push eax
jmp 0x422e95
lea eax, [esi + 0x3ac8]
push eax
push 0
jmp 0x422e95
cmp dword [esi + 0x1c2c8], ebx
jg 0x422e4e
xor eax, eax
push eax
push eax
jmp 0x422e95
lea eax, [esi + 0x104]
push eax
push 0
jmp 0x422e95
mov dword [ebp + 0x28b8], 0
cmp byte [esi + 0x1c2cc], 0
je 0x422e80
cmp dword [esi + 0x1c2c8], ebx
jg 0x422e78
xor eax, eax
jmp 0x422e92
lea eax, [esi + 0x3ac8]
jmp 0x422e92
cmp dword [esi + 0x1c2c8], ebx
jg 0x422e8c
xor eax, eax
jmp 0x422e92
lea eax, [esi + 0x104]
push eax
push 2
push 0xa
mov ecx, ebp
call fcn.00416eb0
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
add esp, 4
xor ebp, ebp
push ebp
lea ecx, [esp + 0x2758]
push ecx
mov ecx, dword [esi + 4]
push str.RemoveCmd
push edi
call fcn.00409a10
test al, al
je 0x422eed
mov edx, dword [esi + 8]
movzx eax, byte [edx + 0x1e89]
push eax
lea ecx, [esp + 0x2758]
push ecx
mov ecx, esi
call fcn.0041e700
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0x2758]
push edx
push str.VerifyRemove
push edi
call fcn.00409a10
test al, al
je 0x4230fe
lea eax, [esp + 0x2754]
push eax
push edi
push str.__s__VerifyRemove____s__n
call fcn.004412c0
push 0x1c2d0
call fcn.0044e29f
add esp, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3d78], 2
cmp eax, ebp
je 0x422f4a
mov ecx, eax
call fcn.004409e0
mov esi, eax
jmp 0x422f4c
xor esi, esi
push 0x1058
lea ecx, [esp + 0x98]
push 0
push ecx
mov dword [esp + 0x3d84], 0xffffffff
call fcn.0044e1b0
add esp, 0xc
push 0x46ce98
lea edx, [esp + 0x2758]
push edx
mov ecx, esi
call fcn.00440c30
cmp byte [esi + 0x1c2cc], 0
je 0x422fa0
cmp dword [esi + 0x1c2c8], 0
jg 0x422f98
xor eax, eax
jmp 0x422fae
lea eax, [esi + 0x32c8]
jmp 0x422fae
xor eax, eax
cmp dword [esi + 0x1c2c8], eax
setle al
dec eax
and eax, esi
push str.CHECK_PRODUCT_ARP
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4230e4
lea ebx, [eax + 1]
cmp byte [esi + 0x1c2cc], al
je 0x422fdf
cmp dword [esi + 0x1c2c8], ebx
jle 0x422ff1
lea eax, [esi + 0x3ac8]
jmp 0x422ff1
cmp dword [esi + 0x1c2c8], ebx
jg 0x422feb
xor eax, eax
jmp 0x422ff1
lea eax, [esi + 0x104]
mov edi, dword [esp + 0x20]
push eax
push 0xffffffffffffffff
push 0xa
mov ecx, edi
call fcn.00416eb0
cmp byte [esi + 0x1c2cc], 0
je 0x42301e
cmp dword [esi + 0x1c2c8], ebx
jg 0x423016
xor eax, eax
jmp 0x423030
lea eax, [esi + 0x3ac8]
jmp 0x423030
cmp dword [esi + 0x1c2c8], ebx
jg 0x42302a
xor eax, eax
jmp 0x423030
lea eax, [esi + 0x104]
lea ecx, [esp + 0x94]
push ecx
push eax
mov ecx, edi
call fcn.0041c630
cmp byte [esp + 0x10d4], 0
jne 0x423092
push str.Not_install_n
call fcn.004412c0
add esp, 4
cmp byte [esi + 0x1c2cc], 0
je 0x423079
cmp dword [esi + 0x1c2c8], ebx
jg 0x42306e
xor eax, eax
push eax
push eax
jmp 0x4230db
lea eax, [esi + 0x3ac8]
push eax
push 0
jmp 0x4230db
cmp dword [esi + 0x1c2c8], ebx
jg 0x423087
xor eax, eax
push eax
push eax
jmp 0x4230db
lea eax, [esi + 0x104]
push eax
push 0
jmp 0x4230db
push str.install_n
call fcn.004412c0
add esp, 4
mov dword [edi + 0x28b8], 0
cmp byte [esi + 0x1c2cc], 0
je 0x4230c6
cmp dword [esi + 0x1c2c8], ebx
jg 0x4230be
xor eax, eax
jmp 0x4230d8
lea eax, [esi + 0x3ac8]
jmp 0x4230d8
cmp dword [esi + 0x1c2c8], ebx
jg 0x4230d2
xor eax, eax
jmp 0x4230d8
lea eax, [esi + 0x104]
push eax
push 2
push 0xa
mov ecx, edi
call fcn.00416eb0
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
add esp, 4
xor ebp, ebp
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0x2758]
push edx
push str.VerifyUpgrade
push edi
call fcn.00409a10
test al, al
je 0x423aac
lea eax, [esp + 0x2754]
push eax
push edi
push str.__s__VerifyUpgrade____s__n
call fcn.004412c0
push 0x1c2d0
call fcn.0044e29f
add esp, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3d78], 3
cmp eax, ebp
je 0x42315f
mov ecx, eax
call fcn.004409e0
mov esi, eax
mov dword [esp + 0x28], eax
jmp 0x423165
xor esi, esi
mov dword [esp + 0x28], esi
push 0x46ce98
lea ecx, [esp + 0x2758]
push ecx
mov ecx, esi
mov dword [esp + 0x3d80], 0xffffffff
call fcn.00440c30
cmp byte [esi + 0x1c2cc], 0
mov ebx, eax
mov dword [esp + 0x30], ebx
je 0x4231a8
cmp dword [esi + 0x1c2c8], 0
jg 0x4231a0
xor eax, eax
jmp 0x4231b6
lea eax, [esi + 0x32c8]
jmp 0x4231b6
xor eax, eax
cmp dword [esi + 0x1c2c8], eax
setle al
dec eax
and eax, esi
push str.CHECK_PRODUCT_ARP
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x423a92
lea edi, [eax + 1]
cmp byte [esi + 0x1c2cc], al
je 0x4231e7
cmp dword [esi + 0x1c2c8], edi
jle 0x4231f9
lea eax, [esi + 0x3ac8]
jmp 0x4231f9
cmp dword [esi + 0x1c2c8], edi
jg 0x4231f3
xor eax, eax
jmp 0x4231f9
lea eax, [esi + 0x104]
mov ebp, dword [esp + 0x20]
push eax
push 0xffffffffffffffff
push 0xa
mov ecx, ebp
call fcn.00416eb0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x171e]
push eax
mov word [esp + 0x1720], dx
call fcn.0044e1b0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1b3a]
push edx
mov word [esp + 0x1b3c], cx
call fcn.0044e1b0
add esp, 0x18
cmp byte [esi + 0x1c2cc], 0
je 0x423263
cmp dword [esi + 0x1c2c8], edi
jg 0x42325b
xor eax, eax
jmp 0x423275
lea eax, [esi + 0x3ac8]
jmp 0x423275
cmp dword [esi + 0x1c2c8], edi
jg 0x42326f
xor eax, eax
jmp 0x423275
lea eax, [esi + 0x104]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
push eax
lea eax, [esp + 0x1718]
push 0x467a2c
push eax
call edi
add esp, 0xc
cmp byte [esi + 0x1c2cc], 0
je 0x4232ac
cmp dword [esi + 0x1c2c8], 2
jg 0x4232a4
xor eax, eax
jmp 0x4232bf
lea eax, [esi + 0x42c8]
jmp 0x4232bf
cmp dword [esi + 0x1c2c8], 2
jg 0x4232b9
xor eax, eax
jmp 0x4232bf
lea eax, [esi + 0x208]
push eax
lea ecx, [esp + 0x1b28]
push 0x467a2c
push ecx
call edi
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1f4a]
push eax
mov word [esp + 0x1f4c], dx
call fcn.0044e1b0
add esp, 0x18
cmp ebx, 4
jle 0x423338
cmp byte [esi + 0x1c2cc], 0
je 0x423312
cmp dword [esi + 0x1c2c8], 4
jg 0x42330a
xor eax, eax
jmp 0x423325
lea eax, [esi + 0x52c8]
jmp 0x423325
cmp dword [esi + 0x1c2c8], 4
jg 0x42331f
xor eax, eax
jmp 0x423325
lea eax, [esi + 0x410]
push eax
lea ecx, [esp + 0x1f38]
push 0x467a2c
push ecx
call edi
add esp, 0xc
lea edx, [esp + 0x1714]
push edx
mov ecx, ebp
call fcn.00417110
lea eax, [esp + 0x1b24]
push eax
mov ecx, ebp
call fcn.00417110
lea ecx, [esp + 0x1714]
push ecx
push str.______s__n
call fcn.004412c0
lea edx, [esp + 0x1b2c]
push edx
push str.______s__n
call fcn.004412c0
push 0x1058
lea eax, [esp + 0xa8]
push 0
push eax
call fcn.0044e1b0
add esp, 0x1c
cmp word [esp + 0x1f34], 0
lea ecx, [esp + 0x1b24]
je 0x4233da
push ecx
lea edx, [esp + 0x1718]
push edx
push str.____Verify_with_Arp_Key___s__and_Product_name___s__n
call fcn.004412c0
add esp, 0xc
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x1b28]
push ecx
lea edx, [esp + 0x1f3c]
push edx
mov ecx, ebp
call fcn.0041d2e0
jmp 0x4233ea
lea eax, [esp + 0x94]
push eax
push ecx
mov ecx, ebp
call fcn.0041c630
mov edx, dword [esp + 0x10e0]
mov ebx, dword [esp + 0x10dc]
push edx
push ebx
push str._dwMajor___d__dwMinor___d__n
call fcn.004412c0
mov eax, dword [esp + 0x10f4]
mov ecx, dword [esp + 0x10f0]
push eax
push ecx
push str._dwBuild___d__dwRevision___d__n
call fcn.004412c0
add esp, 0x18
cmp byte [esp + 0x10d4], 0
je 0x4239e3
mov ecx, dword [ebp + 0xc]
push str..zip
lea edx, [esp + 0x1718]
push edx
mov dword [esp + 0x24], 1
mov byte [esp + 0x1f], 0
call fcn.004453e0
test eax, eax
je 0x423636
push str.ZIP_file..._n
call fcn.004412c0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x192a]
push ecx
mov word [esp + 0x192c], ax
call fcn.0044e1b0
add esp, 0x10
lea edx, [esp + 0x191c]
push edx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
je 0x423636
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x1106]
push ecx
mov word [esp + 0x1108], ax
call fcn.0044e1b0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1522]
push eax
mov word [esp + 0x1524], dx
call fcn.0044e1b0
lea ecx, [esp + 0x172c]
push 0x7c
push ecx
call fcn.0044e936
add esp, 0x20
test eax, eax
je 0x423533
xor edx, edx
mov word [eax], dx
xor ecx, ecx
jmp 0x423500
movzx edx, word [esp + ecx + 0x1714]
mov word [esp + ecx + 0x10fc], dx
add ecx, 2
test dx, dx
jne 0x423500
add eax, 2
lea edx, [esp + 0x150c]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x423524
mov ecx, dword [ebp + 0xc]
push 0
lea eax, [esp + 0x1100]
push eax
call fcn.004454a0
test al, al
je 0x423636
lea ecx, [esp + 0x150c]
push ecx
lea edx, [esp + 0x1920]
push edx
lea eax, [esp + 0x130c]
push 0x46d744
push eax
call edi
lea ecx, [esp + 0x110c]
push ecx
lea edx, [esp + 0x1520]
push edx
push str.Start_extract_File_____s__from___s__n
call fcn.004412c0
lea eax, [esp + 0x1118]
push 0
push eax
call fcn.004402f0
lea ecx, [esp + 0x1530]
push ecx
push str.tszFileName___s__n
mov edi, eax
mov dword [esp + 0x44], 0
call fcn.004412c0
lea edx, [esp + 0x2168]
push edx
lea eax, [esp + 0x48]
push eax
push 1
lea ecx, [esp + 0x1544]
push ecx
push edi
call fcn.0043dd50
add esp, 0x40
test eax, eax
jne 0x42362d
mov edx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x2144]
push eax
push str.ze.name___s__at_index__d_n
call fcn.004412c0
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x1310]
push ecx
push edx
push edi
call fcn.00440380
push eax
push str._nRet1__d_n
call fcn.004412c0
add esp, 0x20
xor eax, eax
nop
movzx ecx, word [esp + eax + 0x1304]
mov word [esp + eax + 0x1714], cx
add eax, 2
test cx, cx
jne 0x423610
mov byte [esp + 0x17], 1
push edi
call fcn.004403a0
add esp, 4
mov ebp, 3
xor edi, edi
cmp dword [esp + 0x30], ebp
jle 0x4236e7
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x130e]
push ecx
mov word [esp + 0x1310], ax
call fcn.0044e1b0
add esp, 0xc
cmp byte [esi + 0x1c2cc], 0
je 0x423684
cmp dword [esi + 0x1c2c8], ebp
jg 0x42367c
xor eax, eax
jmp 0x423696
lea eax, [esi + 0x4ac8]
jmp 0x423696
cmp dword [esi + 0x1c2c8], ebp
jg 0x423690
xor eax, eax
jmp 0x423696
lea eax, [esi + 0x30c]
push eax
lea edx, [esp + 0x1308]
push 0x467a2c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1310]
push str.PRODUCTVERSION
push eax
call fcn.0044e882
add esp, 0x14
test eax, eax
jne 0x4236c6
lea edi, [eax + 1]
lea ecx, [esp + 0x1304]
push str.FILEVERSION
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
je 0x4236e7
test edi, edi
jne 0x423822
mov ecx, dword [esp + 0x20]
mov ecx, dword [ecx + 0xc]
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1718]
push eax
mov dword [esp + 0x54], 0
call fcn.004486b0
movzx edx, word [esp + 0x10e4]
movzx ecx, word [esp + 0x10e8]
mov ebp, eax
mov eax, dword [esp + 0x4c]
push ecx
mov edi, eax
mov word [esp + 0x10f6], ax
mov dword [esp + 0x28], edx
movzx edx, word [esp + 0x10e4]
movzx eax, ax
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x28]
push ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edx
mov ecx, edx
push ecx
shr edi, 0x10
movzx eax, di
movzx edx, bx
push edx
mov dword [esp + 0x4c], eax
mov ecx, eax
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x48]
movzx eax, bp
push edx
mov esi, ebp
mov dword [esp + 0x54], eax
mov edx, eax
push ecx
shr esi, 0x10
movzx eax, si
push edx
push eax
push 0x46f438
mov dword [esp + 0x50], eax
call fcn.004412c0
add esp, 0x24
cmp si, bx
jne 0x4237f5
mov eax, dword [esp + 0x10e0]
cmp bp, ax
jne 0x4237e6
mov eax, dword [esp + 0x10e4]
cmp di, ax
jne 0x4237d7
mov ax, word [esp + 0x10e8]
cmp word [esp + 0x10f2], ax
je 0x42380c
mov ax, word [esp + 0x10f2]
mov ecx, dword [esp + 0x10e8]
cmp ax, cx
jbe 0x423802
mov dword [esp + 0x1c], 2
jmp 0x423802
jbe 0x4237e1
mov dword [esp + 0x1c], 2
cmp di, ax
jmp 0x423802
jbe 0x4237f0
mov dword [esp + 0x1c], 2
cmp bp, ax
jmp 0x423802
jbe 0x4237ff
mov dword [esp + 0x1c], 2
cmp si, bx
jae 0x42380c
mov dword [esp + 0x1c], 3
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
push ecx
mov ecx, dword [esp + 0x30]
jmp 0x423961
cmp edi, 1
jne 0x423993
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x1718]
push ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x38], 0
call fcn.00449200
movzx edx, word [esp + 0x10e4]
movzx ecx, word [esp + 0x10e8]
mov ebp, eax
mov eax, dword [esp + 0x30]
push ecx
mov edi, eax
mov word [esp + 0x10f6], ax
mov dword [esp + 0x28], edx
movzx edx, word [esp + 0x10e4]
movzx eax, ax
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x28]
push ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], edx
mov ecx, edx
push ecx
shr edi, 0x10
movzx eax, di
movzx edx, bx
push edx
mov dword [esp + 0x4c], eax
mov ecx, eax
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x50]
movzx eax, bp
push edx
mov esi, ebp
mov dword [esp + 0x4c], eax
mov edx, eax
push ecx
shr esi, 0x10
movzx eax, si
push edx
push eax
push str.Compare_src___d__d__d__d___des___d__d__d__d__n
mov dword [esp + 0x50], eax
call fcn.004412c0
add esp, 0x24
cmp si, bx
jne 0x423939
mov eax, dword [esp + 0x10e0]
cmp bp, ax
jne 0x42392a
mov eax, dword [esp + 0x10e4]
cmp di, ax
jne 0x42391b
mov ax, word [esp + 0x10e8]
cmp word [esp + 0x10f2], ax
je 0x423950
mov ax, word [esp + 0x10f2]
mov ecx, dword [esp + 0x10e8]
cmp ax, cx
jbe 0x423946
mov dword [esp + 0x1c], 2
jmp 0x423946
jbe 0x423925
mov dword [esp + 0x1c], 2
cmp di, ax
jmp 0x423946
jbe 0x423934
mov dword [esp + 0x1c], 2
cmp bp, ax
jmp 0x423946
jbe 0x423943
mov dword [esp + 0x1c], 2
cmp si, bx
jae 0x423950
mov dword [esp + 0x1c], 3
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x30]
push edx
push eax
push ecx
push str.wszSrcVersion__d._d._d._d
call fcn.004412c0
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x60]
push eax
push ecx
push edx
push str.wszInstalledVersion__d._d._d._d
call fcn.004412c0
mov esi, dword [esp + 0x50]
add esp, 0x28
cmp byte [esp + 0x17], 0
mov edi, dword [esp + 0x20]
je 0x4239ae
mov ecx, dword [edi + 0xc]
lea eax, [esp + 0x1714]
push eax
call fcn.00445e70
push str.install_n
call fcn.004412c0
mov eax, dword [esp + 0x20]
xor ebx, ebx
add esp, 4
cmp eax, ebx
je 0x423a3f
cmp eax, 2
je 0x423a3f
push 1
mov ecx, esi
mov dword [esp + 0x20], 1
call fcn.00401ae0
push eax
push 2
jmp 0x423a89
xor edi, edi
push str.Not_install_n
mov dword [esp + 0x20], edi
mov dword [ebp + 0x28b8], edi
call fcn.004412c0
add esp, 4
cmp byte [esi + 0x1c2cc], 0
je 0x423a22
cmp dword [esi + 0x1c2c8], 1
jg 0x423a16
xor eax, eax
push eax
push edi
mov ecx, ebp
jmp 0x423a8b
lea eax, [esi + 0x3ac8]
push eax
push edi
mov ecx, ebp
jmp 0x423a8b
cmp dword [esi + 0x1c2c8], 1
jg 0x423a33
xor eax, eax
push eax
push edi
mov ecx, ebp
jmp 0x423a8b
lea eax, [esi + 0x104]
push eax
push edi
mov ecx, ebp
jmp 0x423a8b
push eax
push str.Still_not_install_nRet___d__n
mov dword [edi + 0x28b8], ebx
mov dword [esp + 0x24], ebx
call fcn.004412c0
add esp, 8
cmp byte [esi + 0x1c2cc], bl
je 0x423a74
cmp dword [esi + 0x1c2c8], 1
jg 0x423a6c
xor eax, eax
jmp 0x423a87
lea eax, [esi + 0x3ac8]
jmp 0x423a87
cmp dword [esi + 0x1c2c8], 1
jg 0x423a81
xor eax, eax
jmp 0x423a87
lea eax, [esi + 0x104]
push eax
push ebx
mov ecx, edi
push 0xa
call fcn.00416eb0
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x24]
add esp, 4
xor ebp, ebp
push ebp
lea ecx, [esp + 0x2758]
push ecx
mov ecx, dword [esi + 4]
push str.Reboot
push edi
call fcn.00409a10
test al, al
je 0x423b94
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x2754]
push edx
push eax
push str.__s__Reboot____s__n
call fcn.004412c0
push 0x1c2d0
call fcn.0044e29f
add esp, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3d78], 4
test eax, eax
je 0x423b0d
mov ecx, eax
call fcn.004409e0
mov esi, eax
jmp 0x423b0f
xor esi, esi
push 0x46ce98
lea ecx, [esp + 0x2758]
push ecx
mov ecx, esi
mov dword [esp + 0x3d80], 0xffffffff
call fcn.00440c30
cmp eax, 1
jne 0x423b80
cmp byte [esi + 0x1c2cc], 0
je 0x423b51
cmp dword [esi + 0x1c2c8], 0
jg 0x423b49
xor eax, eax
jmp 0x423b5f
lea eax, [esi + 0x32c8]
jmp 0x423b5f
xor eax, eax
cmp dword [esi + 0x1c2c8], eax
setle al
dec eax
and eax, esi
push eax
call fcn.0044e92b
add esp, 4
test eax, eax
je 0x423b80
mov ecx, dword [esp + 0x20]
push 1
push 0
push 0
push 0x8901
call fcn.00416f90
test esi, esi
je 0x423b94
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
add esp, 4
mov esi, dword [esp + 0x1c]
push esi
push str.ProcessSectionExecFile_____d__n
call fcn.004412c0
add esp, 8
mov eax, esi
mov ecx, dword [esp + 0x3d70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3d58]
xor ecx, esp
call fcn.0044e1a0
add esp, 0x3d68
ret 4