Function at 0x414200
Capabilities:
Enumerate process modules
Enumerate processes
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50c4b9
mov eax, dword fs:[0]
push eax
sub esp, 0x8c0
mov eax, dword [0x55c640]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x8b0], esi
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x8c8], eax
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
push 0x100
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 0
mov ebx, 1
push eax
mov dword [ebp - 0x8a8], ebx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
cmp byte [ebp - 0x114], 0
mov dword [ebp - 0x218], 0xf
mov dword [ebp - 0x21c], 0
mov byte [ebp - 0x22c], 0
jne 0x4142bd
xor ecx, ecx
jmp 0x4142cf
lea ecx, [ebp - 0x114]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4142c6
sub ecx, edx
push ecx
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x22c]
call fcn.004511b0
push 0x100
lea eax, [ebp - 0x114]
mov dword [ebp - 4], 1
push 0
push eax
call fcn.00489f10
mov ecx, dword [esi]
lea eax, [ebp - 0x214]
add esp, 0xc
mov dword [ebp - 0x20c], 0
xorps xmm0, xmm0
movq qword [ebp - 0x214], xmm0
push eax
call fcn.00415d20
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0
xor edi, edi
movq qword [ebp - 0x13c], xmm0
xor esi, esi
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x8ac], edi
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x134], esi
push esi
push 2
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x8a0], eax
cmp eax, 0xffffffff
je 0x4146f9
lea ecx, [ebp - 0x884]
mov dword [ebp - 0x884], 0x22c
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_Process32FirstW]
jmp 0x414390
push dword [ebp - 0x87c]
push 8
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x890], eax
cmp eax, 0xffffffff
je 0x4146d2
lea ecx, [ebp - 0x654]
mov dword [ebp - 0x654], 0x428
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_Module32FirstW]
jmp 0x4143d0
mov eax, dword [ebp - 0x87c]
cmp eax, dword [0x5678f0]
je 0x4146ab
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp dword [ebp - 0x87c], eax
je 0x4146ab
push 0x34
call fcn.00485891
add esp, 4
mov dword [ebp - 0x888], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x41451b
xor eax, eax
mov dword [ebp - 0x158], 7
mov dword [ebp - 0x15c], 0
mov word [ebp - 0x16c], ax
cmp word [ebp - 0x434], ax
jne 0x41443a
xor ecx, ecx
jmp 0x414452
lea ecx, [ebp - 0x434]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x414443
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp - 0x16c]
call fcn.00454a30
mov byte [ebp - 4], 5
xor eax, eax
or ebx, 2
mov dword [ebp - 0x140], 7
mov dword [ebp - 0x8a8], ebx
mov dword [ebp - 0x144], 0
mov word [ebp - 0x154], ax
cmp word [ebp - 0x860], ax
jne 0x41449c
xor ecx, ecx
jmp 0x4144b4
lea ecx, [ebp - 0x860]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4144a5
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x860]
push eax
lea ecx, [ebp - 0x154]
call fcn.00454a30
sub esp, 0x18
mov dword [ebp - 4], 6
or ebx, 4
mov dword [ebp - 0x8c0], esp
lea edx, [ebp - 0x16c]
mov dword [ebp - 0x8a8], ebx
mov ecx, esp
call fcn.00468940
sub esp, 0x18
mov dword [ebp - 4], 7
lea edx, [ebp - 0x154]
mov ecx, esp
call fcn.00468940
push dword [ebp - 0x87c]
mov ecx, dword [ebp - 0x888]
mov byte [ebp - 4], 6
call fcn.00413ec0
jmp 0x41451d
xor eax, eax
mov dword [ebp - 0x898], eax
lea ecx, [ebp - 0x8b4]
mov dword [ebp - 4], 9
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x8b4], eax
cmp ecx, edi
jae 0x4145c5
cmp edx, ecx
ja 0x4145c5
sub ecx, edx
sar ecx, 2
mov dword [ebp - 0x888], ecx
cmp edi, esi
jne 0x4145bc
mov eax, esi
sub eax, edi
sar eax, 2
cmp eax, 1
jae 0x4145bc
sub edi, edx
mov eax, 0x3fffffff
sar edi, 2
sub eax, edi
cmp eax, 1
jb 0x4148a2
sub esi, edx
mov eax, 0x3fffffff
sar esi, 2
inc edi
mov ecx, esi
shr ecx, 1
sub eax, ecx
cmp eax, esi
jae 0x414591
xor esi, esi
jmp 0x414593
add esi, ecx
cmp esi, edi
lea ecx, [ebp - 0x13c]
cmovb esi, edi
push esi
call fcn.00455830
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x888]
mov edx, dword [ebp - 0x13c]
test edi, edi
je 0x41462e
mov eax, dword [edx + ecx*4]
jmp 0x41462c
cmp edi, esi
jne 0x414628
mov eax, esi
sub eax, edi
sar eax, 2
cmp eax, 1
jae 0x414622
sub edi, edx
mov eax, 0x3fffffff
sar edi, 2
sub eax, edi
cmp eax, 1
jb 0x4148a2
sub esi, edx
mov eax, 0x3fffffff
sar esi, 2
inc edi
mov ecx, esi
shr ecx, 1
sub eax, ecx
cmp eax, esi
jae 0x414603
xor esi, esi
jmp 0x414605
add esi, ecx
cmp esi, edi
lea ecx, [ebp - 0x13c]
cmovb esi, edi
push esi
call fcn.00455830
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x138]
mov eax, dword [ebp - 0x898]
test edi, edi
je 0x41462e
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x138], edi
mov dword [ebp - 0x8ac], edi
test bl, 4
je 0x41467f
and ebx, 0xfffffffb
cmp dword [ebp - 0x140], 8
mov dword [ebp - 0x8a8], ebx
jb 0x414662
push dword [ebp - 0x154]
call fcn.00485250
add esp, 4
xor eax, eax
mov dword [ebp - 0x140], 7
mov dword [ebp - 0x144], 0
mov word [ebp - 0x154], ax
mov dword [ebp - 4], 3
test bl, 2
je 0x4146ab
and ebx, 0xfffffffd
cmp dword [ebp - 0x158], 8
mov dword [ebp - 0x8a8], ebx
jb 0x4146ab
push dword [ebp - 0x16c]
call fcn.00485250
add esp, 4
lea eax, [ebp - 0x654]
push eax
push dword [ebp - 0x890]
call dword [sym.imp.KERNEL32.dll_Module32NextW]
test eax, eax
jne 0x4143d0
push dword [ebp - 0x890]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x884]
push eax
push dword [ebp - 0x8a0]
call dword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x414390
push dword [ebp - 0x8a0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x214]
mov ebx, eax
mov dword [ebp - 0x8a0], ebx
cmp eax, dword [ebp - 0x210]
je 0x41557e
mov esi, dword [ebx]
lea ecx, [ebp - 0x154]
lea edx, [esi + 8]
call fcn.004141e0
add esi, 0x20
mov byte [ebp - 4], 0xa
mov edx, esi
lea ecx, [ebp - 0x190]
call fcn.004141e0
xor eax, eax
mov byte [ebp - 4], 0xb
push 0xffffffffffffffff
push eax
push esi
lea ecx, [ebp - 0x16c]
mov dword [ebp - 0x158], 7
mov dword [ebp - 0x15c], 0
mov word [ebp - 0x16c], ax
call fcn.00451bc0
push 0xffffffffffffffff
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x154]
push 0
push eax
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 0x11c], 0
mov byte [ebp - 0x12c], 0
call fcn.00451080
push 0x55f100
mov edx, 0x55dc98
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1c0]
call fcn.00457610
add esp, 4
push 0x55ebd4
mov edx, 0x55f280
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x208]
call fcn.00457610
add esp, 4
push 0x55e174
mov edx, 0x55dfac
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1d8]
call fcn.00457610
add esp, 4
push 0x55da40
mov edx, 0x55e814
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1f0]
call fcn.00457610
add esp, 4
push 0x55ddd0
mov edx, 0x55f3b8
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x1a8]
call fcn.00457610
add esp, 4
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x12c]
test eax, eax
je 0x4148be
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 0x12c]
cmp edx, 0x10
lea ecx, [ebp - 0x12c]
cmovae eax, esi
mov dword [ebp - 0x898], eax
lea eax, [ebp - 0x12c]
cmovae eax, esi
add eax, dword [ebp - 0x11c]
cmp edx, 0x10
cmovae ecx, esi
mov dword [ebp - 0x888], ecx
cmp ecx, eax
je 0x4148ac
mov edx, dword [ebp - 0x888]
push ecx
mov ecx, dword [ebp - 0x898]
push ecx
push eax
lea ecx, [ebp - 0x8c0]
call fcn.0045b2f0
mov esi, dword [ebp - 0x12c]
add esp, 0xc
jmp 0x4148b8
push str.vector_T__too_long
call fcn.0046c935
mov ecx, dword [ebp - 0x898]
mov dword [ebp - 0x8c0], ecx
mov eax, dword [ebp - 0x11c]
cmp dword [ebp - 0x1ac], 0x10
lea ecx, [ebp - 0x1c0]
lea edx, [ebp - 0x12c]
cmovae ecx, dword [ebp - 0x1c0]
cmp dword [ebp - 0x118], 0x10
cmovae edx, esi
mov esi, dword [ebp - 0x1b0]
cmp eax, esi
cmovb esi, eax
test esi, esi
je 0x41494c
sub esi, 4
jb 0x414907
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x41490c
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4148f6
cmp esi, 0xfffffffc
je 0x414940
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x414939
cmp esi, 0xfffffffd
je 0x414940
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x414939
cmp esi, 0xfffffffe
je 0x414940
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x414939
cmp esi, 0xffffffff
je 0x414940
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x414940
sbb ecx, ecx
or ecx, 1
jmp 0x414942
xor ecx, ecx
test ecx, ecx
jne 0x414964
mov eax, dword [ebp - 0x11c]
mov edx, dword [ebp - 0x1b0]
cmp eax, edx
jae 0x41495b
or ecx, 0xffffffff
jmp 0x414962
xor ecx, ecx
cmp eax, edx
setne cl
test ecx, ecx
sete al
test al, al
jne 0x414b57
cmp dword [ebp - 0x1f4], 0x10
lea ecx, [ebp - 0x208]
mov esi, dword [ebp - 0x1f8]
lea edx, [ebp - 0x12c]
cmovae ecx, dword [ebp - 0x208]
cmp dword [ebp - 0x118], 0x10
mov eax, dword [ebp - 0x11c]
cmovae edx, dword [ebp - 0x12c]
cmp eax, esi
cmovb esi, eax
test esi, esi
je 0x414a09
sub esi, 4
jb 0x4149c2
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x4149c7
add edx, 4
add ecx, 4
sub esi, 4
jae 0x4149b1
cmp esi, 0xfffffffc
je 0x4149fb
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x4149f4
cmp esi, 0xfffffffd
je 0x4149fb
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x4149f4
cmp esi, 0xfffffffe
je 0x4149fb
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x4149f4
cmp esi, 0xffffffff
je 0x4149fb
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x4149fb
sbb eax, eax
or eax, 1
jmp 0x4149fd
xor eax, eax
test eax, eax
je 0x414a09
mov esi, dword [ebp - 0x11c]
jmp 0x414a25
mov esi, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x1f8]
cmp esi, ecx
jae 0x414a1e
or eax, 0xffffffff
jmp 0x414a25
xor eax, eax
cmp esi, ecx
setne al
test eax, eax
sete al
test al, al
jne 0x414b57
cmp dword [ebp - 0x1c4], 0x10
lea edx, [ebp - 0x1d8]
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x12c]
cmovae edx, dword [ebp - 0x1d8]
cmp dword [ebp - 0x118], 0x10
cmovae ecx, dword [ebp - 0x12c]
cmp esi, eax
cmovb eax, esi
push eax
call fcn.00406640
add esp, 4
test eax, eax
jne 0x414a8a
mov ecx, dword [ebp - 0x1c8]
cmp esi, ecx
jae 0x414a81
or eax, 0xffffffff
jmp 0x414a88
xor eax, eax
cmp esi, ecx
setne al
test eax, eax
sete al
test al, al
jne 0x414b57
cmp dword [ebp - 0x1dc], 0x10
lea edx, [ebp - 0x1f0]
mov eax, dword [ebp - 0x1e0]
lea ecx, [ebp - 0x12c]
cmovae edx, dword [ebp - 0x1f0]
cmp dword [ebp - 0x118], 0x10
cmovae ecx, dword [ebp - 0x12c]
cmp esi, eax
cmovb eax, esi
push eax
call fcn.00406640
add esp, 4
test eax, eax
jne 0x414aed
mov ecx, dword [ebp - 0x1e0]
cmp esi, ecx
jae 0x414ae4
or eax, 0xffffffff
jmp 0x414aeb
xor eax, eax
cmp esi, ecx
setne al
test eax, eax
sete al
test al, al
jne 0x414b57
cmp dword [ebp - 0x194], 0x10
lea edx, [ebp - 0x1a8]
mov eax, dword [ebp - 0x198]
lea ecx, [ebp - 0x12c]
cmovae edx, dword [ebp - 0x1a8]
cmp dword [ebp - 0x118], 0x10
cmovae ecx, dword [ebp - 0x12c]
cmp esi, eax
cmovb eax, esi
push eax
call fcn.00406640
add esp, 4
test eax, eax
jne 0x414b4c
mov ecx, dword [ebp - 0x198]
cmp esi, ecx
jae 0x414b43
or eax, 0xffffffff
jmp 0x414b4a
xor eax, eax
cmp esi, ecx
setne al
test eax, eax
sete al
test al, al
je 0x4153c0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, dword [ebp - 0x13c]
mov dword [ebp - 0x898], eax
mov byte [ebp - 0x899], 1
cmp esi, edi
je 0x414c96
mov ecx, dword [esi]
add ecx, 4
cmp dword [ecx + 0x14], 0x10
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x890], eax
jb 0x414b9c
mov ecx, dword [ecx]
cmp dword [ebp - 0x17c], 0x10
lea edx, [ebp - 0x190]
mov ebx, dword [ebp - 0x180]
cmovae edx, dword [ebp - 0x190]
cmp ebx, dword [ebp - 0x890]
cmovb eax, ebx
mov ebx, dword [ebp - 0x8a0]
test eax, eax
je 0x414c40
sub eax, 4
mov dword [ebp - 0x894], eax
jb 0x414bf5
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x414bfa
mov eax, dword [ebp - 0x894]
add edx, 4
add ecx, 4
sub eax, 4
mov dword [ebp - 0x894], eax
jae 0x414bd8
cmp eax, 0xfffffffc
je 0x414c3a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x414c33
cmp dword [ebp - 0x894], 0xfffffffd
je 0x414c3a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x414c33
cmp dword [ebp - 0x894], 0xfffffffe
je 0x414c3a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x414c33
cmp dword [ebp - 0x894], 0xffffffff
je 0x414c3a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x414c3a
sbb eax, eax
or eax, 1
jmp 0x414c3c
xor eax, eax
test eax, eax
jne 0x414c5e
mov ecx, dword [ebp - 0x890]
mov edx, dword [ebp - 0x180]
cmp edx, ecx
jae 0x414c55
or eax, 0xffffffff
jmp 0x414c5c
xor eax, eax
cmp edx, ecx
setne al
test eax, eax
sete al
test al, al
je 0x414c82
mov eax, dword [esi]
push dword [eax]
push 0
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edx, eax
mov dword [ebp - 0x898], edx
test edx, edx
jne 0x414c8f
add esi, 4
cmp esi, edi
jne 0x414b86
jmp 0x414c96
mov byte [ebp - 0x899], 0
cmp dword [ebp - 0x140], 0x10
lea eax, [ebp - 0x154]
cmovae eax, dword [ebp - 0x154]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
cmp byte [ebp - 0x899], 0
mov dword [ebp - 0x890], eax
je 0x414ea0
push 0x44
call fcn.00485891
mov esi, eax
add esp, 4
mov dword [ebp - 0x888], esi
mov byte [ebp - 4], 0x13
test esi, esi
je 0x414d50
sub esp, 0x18
lea eax, [ebp - 0x190]
mov ecx, esp
mov dword [ebp - 0x8a4], esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00451080
sub esp, 0x18
mov byte [ebp - 4], 0x14
mov ecx, esp
lea eax, [ebp - 0x154]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00451080
push 0x53e6e8
push 0
push 0
push 0
push 0
mov ecx, esi
mov byte [ebp - 4], 0x13
call fcn.00413de0
mov esi, eax
jmp 0x414d52
xor esi, esi
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x8b8]
mov edx, dword [ebp - 0x88c]
mov dword [ebp - 0x8b8], esi
mov ecx, dword [edx + 4]
cmp eax, ecx
jae 0x414e1f
mov eax, dword [edx]
lea ebx, [ebp - 0x8b8]
cmp eax, ebx
mov ebx, dword [ebp - 0x8a0]
ja 0x414e1f
mov edx, dword [edx + 8]
lea esi, [ebp - 0x8b8]
sub esi, eax
sar esi, 2
cmp ecx, edx
jne 0x414e02
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x414e02
mov eax, dword [ebp - 0x88c]
sub ecx, dword [eax]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x4148a2
mov eax, dword [ebp - 0x88c]
inc ecx
mov dword [ebp - 0x888], ecx
sub edx, dword [eax]
mov eax, 0x3fffffff
sar edx, 2
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x414de7
xor edx, edx
jmp 0x414de9
add edx, ecx
cmp edx, dword [ebp - 0x888]
mov ecx, dword [ebp - 0x88c]
cmovb edx, dword [ebp - 0x888]
push edx
call fcn.00455830
mov edx, dword [ebp - 0x88c]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
test ecx, ecx
je 0x414e16
mov eax, dword [eax + esi*4]
mov dword [ecx], eax
add dword [edx + 4], 4
jmp 0x414ea0
mov edx, dword [edx + 8]
cmp ecx, edx
jne 0x414e8d
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x414e8d
mov eax, dword [ebp - 0x88c]
sub ecx, dword [eax]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x4148a2
mov eax, dword [ebp - 0x88c]
inc ecx
mov dword [ebp - 0x888], ecx
sub edx, dword [eax]
mov eax, 0x3fffffff
sar edx, 2
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x414e72
xor edx, edx
jmp 0x414e74
add edx, ecx
cmp edx, dword [ebp - 0x888]
mov ecx, dword [ebp - 0x88c]
cmovb edx, dword [ebp - 0x888]
push edx
call fcn.00455830
mov ecx, dword [ebp - 0x88c]
mov eax, dword [ecx + 4]
test eax, eax
je 0x414e9c
mov dword [eax], esi
add dword [ecx + 4], 4
lea eax, [ebp - 0x154]
push eax
mov eax, dword [ebp - 0x8b0]
mov ecx, dword [eax]
call fcn.00415ae0
mov ecx, dword [ebp - 0x890]
test ecx, ecx
jne 0x4150a3
push 0x44
call fcn.00485891
mov esi, eax
add esp, 4
mov dword [ebp - 0x888], esi
mov byte [ebp - 4], 0x15
test esi, esi
je 0x414f4e
sub esp, 0x18
lea eax, [ebp - 0x190]
mov ecx, esp
mov dword [ebp - 0x890], esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00451080
sub esp, 0x18
mov byte [ebp - 4], 0x16
mov ecx, esp
lea eax, [ebp - 0x154]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00451080
push 0x540ce0
push 0
push 0
push 0
push 0
mov ecx, esi
mov byte [ebp - 4], 0x15
call fcn.00413de0
mov esi, eax
jmp 0x414f50
xor esi, esi
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x8bc]
mov edx, dword [ebp - 0x88c]
mov dword [ebp - 0x8bc], esi
mov ecx, dword [edx + 4]
cmp eax, ecx
jae 0x41501d
mov eax, dword [edx]
lea ebx, [ebp - 0x8bc]
cmp eax, ebx
mov ebx, dword [ebp - 0x8a0]
ja 0x41501d
mov edx, dword [edx + 8]
lea esi, [ebp - 0x8bc]
sub esi, eax
sar esi, 2
cmp ecx, edx
jne 0x415000
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x415000
mov eax, dword [ebp - 0x88c]
sub ecx, dword [eax]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x4148a2
mov eax, dword [ebp - 0x88c]
inc ecx
mov dword [ebp - 0x888], ecx
sub edx, dword [eax]
mov eax, 0x3fffffff
sar edx, 2
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x414fe5
xor edx, edx
jmp 0x414fe7
add edx, ecx
cmp edx, dword [ebp - 0x888]
mov ecx, dword [ebp - 0x88c]
cmovb edx, dword [ebp - 0x888]
push edx
call fcn.00455830
mov edx, dword [ebp - 0x88c]
mov ecx, dword [edx + 4]
mov eax, dword [edx]
test ecx, ecx
je 0x415014
mov eax, dword [eax + esi*4]
mov dword [ecx], eax
add dword [edx + 4], 4
jmp 0x4153b4
mov edx, dword [edx + 8]
cmp ecx, edx
jne 0x41508b
mov eax, edx
sub eax, ecx
sar eax, 2
cmp eax, 1
jae 0x41508b
mov eax, dword [ebp - 0x88c]
sub ecx, dword [eax]
mov eax, 0x3fffffff
sar ecx, 2
sub eax, ecx
cmp eax, 1
jb 0x4148a2
mov eax, dword [ebp - 0x88c]
inc ecx
mov dword [ebp - 0x888], ecx
sub edx, dword [eax]
mov eax, 0x3fffffff
sar edx, 2
mov ecx, edx
shr ecx, 1
sub eax, ecx
cmp eax, edx
jae 0x415070
xor edx, edx
jmp 0x415072
add edx, ecx
cmp edx, dword [ebp - 0x888]
mov ecx, dword [ebp - 0x88c]
cmovb edx, dword [ebp - 0x888]
push edx
call fcn.00455830
mov ecx, dword [ebp - 0x88c]
mov eax, dword [ecx + 4]
test eax, eax
je 0x41509a
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x4153b4
test eax, eax
je 0x4153b4
cmp dword [ebp - 0x898], 0
je 0x4153b4
push ecx
lea eax, [ebp - 0x178]
mov dword [ebp - 0x170], 0
xorps xmm0, xmm0
push eax
movq qword [ebp - 0x178], xmm0
call fcn.00413f90
mov byte [ebp - 4], 0x17
mov edi, dword [ebp - 0x174]
mov eax, edi
mov esi, dword [ebp - 0x178]
sub eax, esi
test eax, 0xfffffffc
je 0x41537d
cmp esi, edi
je 0x41537d
mov ebx, dword [ebp - 0x898]
jmp 0x415110
mov eax, dword [esi]
mov dword [ebp - 0x894], eax
mov ecx, dword [eax]
mov dword [ebp - 0x888], ecx
test ecx, ecx
je 0x415366
cmp dword [eax + 4], 0
je 0x415366
push 5
call fcn.004863cc
add esp, 4
mov dword [ebp - 0x8a4], eax
push 5
call fcn.004863cc
add esp, 4
mov dword [ebp - 0x890], eax
cmp dword [ebp - 0x8a4], 0
je 0x41534a
test eax, eax
je 0x41534a
lea eax, [ebp - 0x130]
mov dword [ebp - 0x130], 0
push eax
push 0x20
push 5
push dword [ebp - 0x888]
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov eax, dword [ebp - 0x894]
push 0
push 5
push dword [ebp - 0x8a4]
push dword [eax]
push ebx
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea eax, [ebp - 0x130]
push eax
push dword [ebp - 0x130]
mov eax, dword [ebp - 0x894]
push 5
push dword [eax]
push ebx
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov ecx, dword [ebp - 0x8b0]
mov eax, dword [ecx]
lea ecx, [ebp - 0x130]
push ecx
mov ecx, dword [ebp - 0x894]
push 0x20
push 5
push dword [ecx]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov ecx, dword [ebp - 0x8b0]
push 0
push 5
push dword [ebp - 0x890]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x894]
push dword [ecx]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov ecx, dword [ebp - 0x8b0]
mov eax, dword [ecx]
lea ecx, [ebp - 0x130]
push ecx
push dword [ebp - 0x130]
mov ecx, dword [ebp - 0x894]
push 5
push dword [ecx]
push dword [eax]
call dword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov ecx, dword [ebp - 0x8a4]
mov edx, dword [ebp - 0x890]
mov dword [ebp - 0x888], 1
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x415258
add ecx, 4
mov dword [ebp - 0x888], 0xfffffffd
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x415283
cmp dword [ebp - 0x888], 0xfffffffd
je 0x41527f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x415283
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x415283
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x415283
xor eax, eax
jmp 0x415288
sbb eax, eax
or eax, 1
test eax, eax
je 0x41534a
push 0x44
call fcn.00485891
add esp, 4
mov dword [ebp - 0x888], eax
mov byte [ebp - 4], 0x18
test eax, eax
je 0x41532c
sub esp, 0x18
lea eax, [ebp - 0x190]
mov ecx, esp
mov dword [ebp - 0x8c4], esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00451080
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov ecx, esp
lea eax, [ebp - 0x154]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00451080
mov eax, dword [ebp - 0x894]
mov ecx, dword [ebp - 0x888]
push dword [eax + 4]
push dword [ebp - 0x890]
push dword [ebp - 0x8a4]
push 5
push dword [eax]
mov byte [ebp - 4], 0x18
call fcn.00413de0
jmp 0x41532e
xor eax, eax
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x88c]
mov dword [ebp - 0x888], eax
lea eax, [ebp - 0x888]
push eax
call fcn.00450820
push dword [ebp - 0x8a4]
call fcn.00486394
add esp, 4
push dword [ebp - 0x890]
call fcn.00486394
add esp, 4
add esi, 4
cmp esi, edi
jne 0x415110
mov ebx, dword [ebp - 0x8a0]
mov esi, dword [ebp - 0x178]
mov dword [ebp - 0x174], esi
test esi, esi
je 0x4153ae
push esi
call fcn.00485250
add esp, 4
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov edi, dword [ebp - 0x8ac]
push dword [ebp - 0x898]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x194], 0x10
jb 0x4153d7
push dword [ebp - 0x1a8]
call fcn.00485250
add esp, 4
cmp dword [ebp - 0x1dc], 0x10
mov byte [ebp - 0x1a8], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
jb 0x415409
push dword [ebp - 0x1f0]
call fcn.00485250
add esp, 4
cmp dword [ebp - 0x1c4], 0x10
mov byte [ebp - 0x1f0], 0
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
jb 0x41543b
push dword [ebp - 0x1d8]
call fcn.00485250
add esp, 4
cmp dword [ebp - 0x1f4], 0x10
mov byte [ebp - 0x1d8], 0
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
jb 0x41546d
push dword [ebp - 0x208]
call fcn.00485250
add esp, 4
cmp dword [ebp - 0x1ac], 0x10
mov byte [ebp - 0x208], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
jb 0x41549f
push dword [ebp - 0x1c0]
call fcn.00485250
add esp, 4
cmp dword [ebp - 0x118], 0x10
mov byte [ebp - 0x1c0], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0xf
jb 0x4154d1
push dword [ebp - 0x12c]
call fcn.00485250
add esp, 4
cmp dword [ebp - 0x158], 8
mov byte [ebp - 0x12c], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
jb 0x415503
push dword [ebp - 0x16c]
call fcn.00485250
add esp, 4
xor eax, eax
mov dword [ebp - 0x158], 7
cmp dword [ebp - 0x17c], 0x10
mov word [ebp - 0x16c], ax
mov dword [ebp - 0x15c], eax
jb 0x415533
push dword [ebp - 0x190]
call fcn.00485250
add esp, 4
mov byte [ebp - 4], 3
cmp dword [ebp - 0x140], 0x10
mov byte [ebp - 0x190], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
jb 0x415569
push dword [ebp - 0x154]
call fcn.00485250
add esp, 4
add ebx, 4
mov dword [ebp - 0x8a0], ebx
cmp ebx, dword [ebp - 0x210]
jne 0x414713
mov ebx, dword [ebp - 0x13c]
cmp ebx, edi
je 0x4155a9
mov esi, ebx
lea ebx, [ebx]
mov ecx, dword [esi]
test ecx, ecx
je 0x41559c
push ecx
call fcn.00415610
mov dword [esi], 0
add esi, 4
cmp esi, edi
jne 0x415590
test ebx, ebx
je 0x4155b6
push ebx
call fcn.00485250
add esp, 4
mov eax, dword [ebp - 0x214]
test eax, eax
je 0x4155c9
push eax
call fcn.00485250
add esp, 4
cmp dword [ebp - 0x218], 0x10
jb 0x4155e0
push dword [ebp - 0x22c]
call fcn.00485250
add esp, 4
mov eax, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00484516
mov esp, ebp
pop ebp
ret 4