Function at 0x40d988
Capabilities:
Create thread

Disassembly:
push ebp
lea ebp, [esp - 0x7a8]
sub esp, 0x828
mov eax, dword [0x488548]
xor eax, ebp
mov dword [ebp + 0x7a4], eax
mov eax, dword [ebp + 0x7b4]
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 0x7b0]
push esi
push edi
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x68], ecx
cmp eax, ecx
je 0x40dbee
movzx ecx, word [eax]
cmp cx, 0x26
jne 0x40d9e3
inc eax
inc eax
mov dword [ebp - 0x64], eax
movzx ecx, word [eax]
mov dword [ebp - 0x6c], 1
mov esi, dword [sym.imp.PPLIB32W.DLL__SkipSpace_4]
push 9
lea edx, [ecx - 0x30]
pop edi
cmp dx, di
ja 0x40da29
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.PPLIB32W.DLL__GetNumber_4]
mov dword [ebp - 0x68], eax
test eax, eax
je 0x40da0f
mov ecx, 0x7f01
sub ecx, eax
mov dword [ebp - 0x68], ecx
lea eax, [ebp - 0x64]
push eax
call esi
movzx ecx, ax
mov eax, dword [ebp - 0x64]
cmp cx, 0x2c
jne 0x40da29
inc eax
inc eax
mov dword [ebp - 0x64], eax
movzx ecx, word [eax]
cmp cx, 0x61
jne 0x40da4d
mov dword [ebp - 0x74], 1
inc eax
inc eax
mov dword [ebp - 0x64], eax
cmp word [eax], 0x6c
je 0x40da36
lea eax, [ebp - 0x64]
push eax
call esi
movzx ecx, ax
mov eax, dword [ebp - 0x64]
movzx ecx, cx
cmp ecx, 0x69
jg 0x40db8f
je 0x40db86
sub ecx, 0x22
je 0x40db34
sub ecx, 0x41
je 0x40db0a
dec ecx
dec ecx
je 0x40da98
dec ecx
je 0x40da8c
dec ecx
dec ecx
jne 0x40dbee
mov dword [ebp - 0x60], 8
jmp 0x40dbee
mov dword [ebp - 0x60], 7
jmp 0x40dbee
movzx ecx, word [eax + 2]
cmp ecx, 0x64
je 0x40dafe
cmp ecx, 0x78
jne 0x40dbee
cmp word [eax], 0x7a
ja 0x40dac6
movzx ecx, byte [eax]
movsx ecx, byte [ecx + str._AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]
and ecx, 0x30
je 0x40dac6
inc eax
inc eax
mov dword [ebp - 0x64], eax
jmp 0x40daaa
lea eax, [ebp - 0x64]
push eax
call esi
cmp ax, 0x2c
jne 0x40dad6
add dword [ebp - 0x64], 2
push 0x400
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.PPLIB32W.DLL__GetLineParamS_12]
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x74]
push dword [ebp - 0x68]
push ebx
call fcn.0040d806
jmp 0x40db7f
mov dword [ebp - 0x60], 1
jmp 0x40dbee
movzx eax, word [eax + 2]
cmp eax, 0x6c
je 0x40db28
cmp eax, 0x72
jne 0x40dbee
mov dword [ebp - 0x60], 2
jmp 0x40dbee
mov dword [ebp - 0x60], 0xd
jmp 0x40dbee
push 0x400
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.PPLIB32W.DLL__GetLineParamS_12]
mov ecx, dword [ebx + 0x1d40]
lea eax, [ebp - 0x5c]
push eax
mov eax, dword [ebx + 0x1d50]
mov eax, dword [ecx + eax*4]
imul eax, eax, 0x278
add eax, dword [ebx + 0x1d34]
push eax
push dword [ebp - 0x68]
push ebx
call fcn.0040c9d6
push dword [ebp - 0x68]
push ebx
call fcn.0040cc04
push ebx
call fcn.004212d2
xor eax, eax
jmp 0x40de46
mov dword [ebp - 0x60], 0xb
jmp 0x40dbee
sub ecx, 0x6c
je 0x40dbeb
dec ecx
je 0x40dbe2
dec ecx
dec ecx
je 0x40dbd9
push 4
pop edx
sub ecx, edx
jne 0x40dbee
mov ecx, eax
mov dword [ebp - 0x60], edx
lea esi, [ecx + 2]
mov dx, word [ecx]
inc ecx
inc ecx
test dx, dx
jne 0x40dbaa
sub ecx, esi
push 6
sar ecx, 1
pop edx
cmp ecx, edx
jb 0x40dbee
cmp word [eax + 8], 0x32
jne 0x40dbcd
mov dword [ebp - 0x60], 5
cmp word [eax + 8], 0x35
jne 0x40dbee
mov dword [ebp - 0x60], edx
jmp 0x40dbee
mov dword [ebp - 0x60], 0xa
jmp 0x40dbee
mov dword [ebp - 0x60], 3
jmp 0x40dbee
mov dword [ebp - 0x60], edi
cmp dword [ebx + 0x30d8], 0
je 0x40dc0d
push str.EACOAlready_counting
xor edx, edx
mov ecx, ebx
call fcn.00427caa
push 0x46
pop eax
jmp 0x40de46
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.PPLIB32W.DLL__ThInit_4]
xor eax, eax
mov word [ebp - 0x5c], ax
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40dd2c
mov esi, dword [sym.imp.USER32.dll_CreatePopupMenu]
call esi
and dword [ebp - 0x60], 0
mov edi, eax
mov eax, dword [str.TCMEEdit_comment]
mov dword [ebp - 0x70], 0x4873a4
jmp 0x40dc5c
mov edx, dword [ebp - 0x60]
push eax
inc edx
mov ecx, edi
call fcn.00457166
inc dword [ebp - 0x60]
add dword [ebp - 0x70], 4
mov eax, dword [ebp - 0x70]
mov eax, dword [eax]
test eax, eax
jne 0x40dc44
call esi
mov esi, eax
push 0x1000
push esi
lea eax, [ebx + 0xa34]
push eax
lea eax, [ebp - 0x80]
push eax
call dword [sym.imp.PPLIB32W.DLL__GetColumnExtMenu_16]
push str.TCLEColumn_Ext
call dword [sym.imp.PPLIB32W.DLL__MessageText_4]
push eax
push esi
mov esi, dword [sym.imp.USER32.dll_AppendMenuW]
push 0x10
push edi
call esi
lea eax, [ebp - 0x80]
push eax
push str.M_winhashlist
lea eax, [ebp - 0x60]
push eax
push 0
push dword [ebx + 0xc]
mov dword [ebp - 0x60], 0xe
push ebx
call dword [sym.imp.PPLIB32W.DLL__PP_AddMenu_24]
test eax, eax
je 0x40dcc2
push str.bcrypt
push eax
push 0x10
push edi
call esi
push 0
push ebx
call fcn.0044dcb5
test eax, eax
je 0x40dcdd
push str.CMPHCompare_Hash_to_Clipboard
push 0xc
pop edx
mov ecx, edi
call fcn.00457166
push str.TCLRClear
push 0xd
pop edx
mov ecx, edi
call fcn.00457166
push edi
push ebx
call fcn.004263f2
lea ecx, [eax - 0xe]
mov dword [ebp - 0x60], eax
cmp ecx, 0xff0
ja 0x40dd14
push 0
push 0x400
lea ecx, [ebp - 0x5c]
push ecx
push eax
push edi
call dword [sym.imp.USER32.dll_GetMenuStringW]
push edi
call dword [sym.imp.USER32.dll_DestroyMenu]
mov eax, dword [ebp - 0x60]
test eax, eax
jne 0x40dd2c
mov eax, 0x4c7
jmp 0x40de46
cmp eax, 0xc
jne 0x40dd3e
push 1
push ebx
call fcn.0044dcb5
jmp 0x40db7f
xor edi, edi
cmp dword [ebp - 0x64], edi
je 0x40dd4e
cmp dword [ebp - 0x6c], edi
je 0x40de2d
cmp eax, 1
jle 0x40de2d
cmp eax, 0xd
je 0x40de2d
cmp eax, 0xb
je 0x40de2d
cmp eax, 0x1000
jge 0x40de2d
cmp dword [0x48aa04], 5
jb 0x40de2d
push 0xd
push ebx
call fcn.004281fe
mov esi, eax
mov dword [ebp - 0x6c], esi
cmp esi, edi
jne 0x40ddad
push str.ELTATaget_list_make_error
push 0x11
push edi
push dword [ebx + 0xc]
call dword [sym.imp.PPLIB32W.DLL_XMessage]
add esp, 0x10
push 8
jmp 0x40dc07
push 0x60
pop ecx
call fcn.00424f73
mov dword [eax + 4], esi
mov dword [eax], ebx
lea edi, [eax + 8]
lea esi, [ebp - 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x60]
mov dword [eax + 0x14], ecx
mov ecx, dword [ebp - 0x68]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x5c]
push 2
mov edx, eax
mov esi, ecx
pop edi
sub edx, esi
mov dword [eax + 0x18], edi
add edx, 0x20
movzx esi, word [ecx]
mov word [edx + ecx], si
add ecx, edi
test si, si
jne 0x40dde1
inc dword [ebx + 0x24]
xor esi, esi
push esi
push esi
push eax
push 0x40d900
push esi
push esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
cmp edi, esi
je 0x40de1f
push 0xfffffffffffffffe
push edi
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x40db7f
push ebx
call fcn.00450c9d
mov ecx, dword [ebp - 0x6c]
call fcn.00424f83
push 0
push dword [ebp - 0x68]
lea eax, [ebp - 0x5c]
push dword [ebp - 0x74]
push eax
push dword [ebp - 0x60]
lea eax, [ebp - 0x80]
push eax
push ebx
call fcn.0040d098
mov ecx, dword [ebp + 0x7a4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046890b
add ebp, 0x7a8
leave
ret 8