Function at 0x487dc4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
sub esp, 0x828
lea ebp, [esp - 4]
mov eax, dword [0x514d34]
xor eax, ebp
mov dword [ebp + 0x828], eax
push 0xd4
mov eax, 0x4bc706
call fcn.00441d06
mov ebx, ecx
mov dword [ebp - 0x64], ebx
mov edi, dword [ebp + 0x834]
mov ecx, dword [edi + 0x231]
mov ecx, dword [ecx + 0x71]
call fcn.00440577
test eax, eax
jne 0x487e1a
push str.There_are_no_columns_to_customise_
call fcn.00413845
pop ecx
xor eax, eax
jmp 0x48896b
push 0x237
xor esi, esi
lea eax, [ebp + 0x2e4]
push esi
push eax
call fcn.00443240
add esp, 0xc
lea ecx, [ebp - 0x5a]
call fcn.00466577
push esi
push esi
lea eax, [ebp + 0x2e4]
mov dword [ebp - 4], esi
mov dword [ebp - 0x60], eax
xor eax, eax
push 0x1200
push dword [edi + 0x1ac]
mov dword [ebp - 0x44], edi
mov word [ebp - 0x5c], ax
mov word [ebp - 0x46], ax
call fcn.0043b246
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
movzx esi, ax
xor eax, eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
inc eax
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], al
mov eax, esi
push eax
mov dword [ebp - 0x14], eax
call fcn.0048bdd9
push dword [ebp - 0x34]
push esi
push 0x1211
push dword [edi + 0x1ac]
call fcn.0043b246
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
push 8
pop ecx
cmp ax, si
jae 0x487f48
mov esi, dword [ebp - 0x34]
push 0x2c
lea eax, [ebp - 0xdc]
mov dword [ebp - 0xe0], ecx
push 0
push eax
call fcn.00443240
add esp, 0xc
lea eax, [ebp - 0xe0]
push eax
push dword [esi]
push 0x1203
push dword [edi + 0x1ac]
call fcn.0043b246
pop ecx
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp - 0xc8]
lea eax, [ebp - 0x24]
mov ecx, ebx
push eax
call fcn.004890e4
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebx + 4]
call fcn.00440e34
mov edx, dword [ebp - 0x1c]
cmp edx, dword [eax + 8]
je 0x487f38
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x487f24
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
push dword [eax + ecx*4]
lea ecx, [ebp - 0x5a]
call fcn.0048b856
add esi, 4
sub dword [ebp - 0x14], 1
push 8
pop ecx
jne 0x487eb9
lea esi, [ebx + 4]
lea eax, [ebp - 0x24]
mov dword [ebp - 0x28], esi
push eax
mov ecx, esi
call fcn.0047833e
lea eax, [ebp - 0x40]
mov ecx, esi
push eax
call fcn.00440e34
mov esi, dword [ebp - 0x1c]
cmp esi, dword [ebp - 0x38]
je 0x487fb2
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x487f77
xor ecx, ecx
jmp 0x487f79
mov ecx, dword [edi]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec eax
and eax, esi
mov ecx, dword [ecx + eax*4]
call fcn.004891dc
test al, 1
je 0x487fac
test edi, edi
jne 0x487f96
xor eax, eax
jmp 0x487f98
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, esi
push dword [eax + ecx*4]
lea ecx, [ebp - 0x5a]
call fcn.0048b856
inc esi
cmp esi, dword [ebp - 0x38]
jne 0x487f6f
push 2
mov eax, 0x1c0d
mov dword [ebp + 0x7cc], 0x39200000
mov word [ebp + 0x7b8], ax
xor edx, edx
xor eax, eax
mov dword [ebp + 0x7be], edx
pop esi
mov ecx, 0x48a8cf
mov dword [ebp + 0x7c6], eax
mov dword [ebp + 0x7dc], eax
xor edi, edi
mov dword [ebp + 0x7e2], eax
inc edi
mov word [ebp + 0x7f2], ax
mov word [ebp + 0x808], ax
mov word [ebp + 0x81e], ax
push 3
pop eax
mov dword [ebp + 0x7ba], ecx
mov dword [ebp + 0x7d0], ecx
mov dword [ebp + 0x7e6], ecx
mov ecx, 0x48b99f
mov word [ebp + 0x822], ax
xor eax, eax
mov dword [ebp + 0x7c2], edx
mov word [ebp + 0x7ca], di
mov dword [ebp + 0x7d4], edx
mov dword [ebp + 0x7d8], edx
mov word [ebp + 0x7e0], di
mov dword [ebp + 0x7ea], edx
mov dword [ebp + 0x7ee], str.Toggle__tSpace
mov word [ebp + 0x7f4], di
mov word [ebp + 0x7f6], di
mov dword [ebp + 0x7f8], 0x8d000000
mov dword [ebp + 0x7fc], ecx
mov dword [ebp + 0x800], edx
mov dword [ebp + 0x804], str.Move_Up_tCtrlUp
mov word [ebp + 0x80a], di
mov word [ebp + 0x80c], si
mov dword [ebp + 0x80e], 0x91000000
mov dword [ebp + 0x812], ecx
mov dword [ebp + 0x816], edx
mov dword [ebp + 0x81a], str.Move_Down_tCtrlDown
mov word [ebp + 0x820], di
mov word [ebp + 0x824], ax
call fcn.00412d86
push 0x41
pop ecx
xor edx, edx
mov dword [ebp - 0x8a], 0x488a20
test ax, ax
mov dword [ebp - 0x86], str.Use_the_space_bar_to_decide_which_columns_are_shown.
push 0x14
pop eax
mov word [ebp - 0x96], ax
cmovne ecx, edx
xor eax, eax
mov word [ebp - 0x98], cx
mov word [ebp - 0x90], ax
xor ecx, ecx
lea eax, [ebp + 0x7b8]
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x82], eax
push 5
pop eax
mov word [ebp - 0x7e], ax
lea eax, [ebp + 0x2e4]
mov dword [ebp - 0x78], eax
xor eax, eax
mov word [ebp - 0x74], ax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x8e], ecx
mov dword [ebp - 0x7c], 0x600c
mov dword [ebp - 0x72], str.Current_Columns
mov dword [ebp - 0x6e], eax
mov dword [ebp - 0x6a], ecx
mov dword [ebp + 0x51c], ecx
mov dword [ebp + 0x520], ecx
mov dword [ebp + 0x524], str.Available_Columns
mov dword [ebp + 0x528], ecx
xor eax, eax
mov dword [ebp + 0x52c], ecx
and dword [ebp + 0x562], eax
lea edi, [ebp + 0x5a6]
and dword [ebp + 0x576], eax
mov edx, 0x48c8c2
mov dword [ebp + 0x536], eax
xorps xmm0, xmm0
mov dword [ebp + 0x54a], eax
mov dword [ebp + 0x54e], eax
mov dword [ebp + 0x552], eax
mov dword [ebp + 0x556], eax
mov word [ebp + 0x55a], ax
mov dword [ebp + 0x55c], eax
mov word [ebp + 0x560], ax
lea eax, [ebp - 0x5c]
mov dword [ebp + 0x57c], eax
xor eax, eax
mov word [ebp + 0x582], ax
mov dword [ebp + 0x584], eax
mov dword [ebp + 0x58c], eax
lea eax, [ebp - 0x98]
mov dword [ebp + 0x598], eax
xor eax, eax
mov dword [ebp + 0x532], ecx
mov dword [ebp + 0x53a], ecx
mov dword [ebp + 0x53e], ecx
mov ecx, 0x431a31
mov dword [ebp + 0x59c], eax
mov dword [ebp + 0x5a0], eax
mov word [ebp + 0x5a4], ax
mov dword [ebp + 0x546], ecx
mov word [ebp + 0x530], 0x5a4b
mov dword [ebp + 0x542], edx
movups xmmword [ebp + 0x566], xmm0
mov word [ebp + 0x57a], 0x5a4b
mov word [ebp + 0x580], si
mov dword [ebp + 0x588], 0x10100
mov dword [ebp + 0x590], 0x433baa
mov dword [ebp + 0x594], 0x433cd9
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov dword [ebp + 0x5b0], eax
mov dword [ebp + 0x5b4], eax
mov dword [ebp + 0x5bc], eax
mov dword [ebp + 0x5c0], eax
mov dword [ebp + 0x5c6], eax
mov dword [ebp + 0x5ca], eax
mov dword [ebp + 0x5ce], eax
mov dword [ebp + 0x5d2], eax
mov dword [ebp + 0x5da], ecx
xor ecx, ecx
mov word [ebp + 0x5f4], ax
lea eax, [ebp - 0x46]
mov dword [ebp + 0x5b8], str.Options
mov word [ebp + 0x5c4], 0x5a4b
mov dword [ebp + 0x5d6], edx
mov dword [ebp + 0x5de], ecx
mov dword [ebp + 0x5e2], ecx
mov dword [ebp + 0x5e6], ecx
mov dword [ebp + 0x5ea], ecx
mov word [ebp + 0x5ee], cx
mov dword [ebp + 0x5f0], ecx
mov dword [ebp + 0x5f6], ecx
mov dword [ebp + 0x5fa], ecx
mov dword [ebp + 0x5fe], ecx
mov dword [ebp + 0x602], str.Width
mov dword [ebp + 0x606], ecx
mov dword [ebp + 0x60a], ecx
mov word [ebp + 0x60e], 0x564b
mov dword [ebp + 0x610], eax
mov word [ebp + 0x614], si
mov word [ebp + 0x616], cx
mov dword [ebp + 0x618], ecx
mov dword [ebp + 0x61c], 0x18000
mov dword [ebp + 0x620], 0x48c5dc
mov dword [ebp + 0x624], ecx
mov dword [ebp + 0x628], 0x48795c
mov dword [ebp + 0x62c], ecx
mov dword [ebp + 0x630], ecx
lea edi, [ebp + 0x63a]
mov dword [ebp + 0x634], str.Enter_the_width_of_the_column_in_pixels.
xor eax, eax
mov word [ebp + 0x638], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
or dword [ebp + 0x644], 0xffffffff
mov dword [ebp + 0x648], ecx
call fcn.00412d86
test ax, ax
mov word [ebp + 0x658], 0x5a4b
mov edx, str.Move_Up
mov ecx, 0x4e7cfc
cmove ecx, edx
xor eax, eax
mov dword [ebp + 0x64c], ecx
mov dword [ebp + 0x650], eax
mov dword [ebp + 0x654], eax
mov dword [ebp + 0x65a], eax
mov word [ebp + 0x65e], ax
call fcn.00412d86
neg ax
mov dword [ebp + 0x666], 0x8000
mov dword [ebp + 0x66a], 0x48c58a
lea edi, [ebp + 0x684]
sbb al, al
mov dword [ebp + 0x672], 0x48786c
and al, 0xf9
mov dword [ebp + 0x676], ebx
add al, 0xa
mov dword [ebp + 0x67e], str.Click_this_button_to_move_the_currently_selected_column_up_the_list.
xor ecx, ecx
mov byte [ebp + 0x660], al
mov byte [ebp + 0x661], cl
xor eax, eax
mov dword [ebp + 0x662], ecx
mov esi, 0x42ddd6
mov dword [ebp + 0x66e], esi
mov dword [ebp + 0x67a], ecx
mov word [ebp + 0x682], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
or dword [ebp + 0x68e], 0xffffffff
mov dword [ebp + 0x692], ecx
call fcn.00412d86
test ax, ax
mov word [ebp + 0x6a2], 0x5a4b
mov edx, str.Move_Down
mov ecx, str.Down
cmove ecx, edx
xor eax, eax
mov dword [ebp + 0x696], ecx
mov dword [ebp + 0x69a], eax
mov dword [ebp + 0x69e], eax
mov dword [ebp + 0x6a4], eax
mov word [ebp + 0x6a8], ax
call fcn.00412d86
neg ax
mov dword [ebp + 0x6b0], 0x8000
mov dword [ebp + 0x6b4], 0x48c556
lea edi, [ebp + 0x6ce]
sbb al, al
mov dword [ebp + 0x6b8], esi
and al, 0xfb
mov dword [ebp + 0x6bc], 0x4877d6
add al, 0xa
mov dword [ebp + 0x6c0], ebx
xor ecx, ecx
mov byte [ebp + 0x6aa], al
mov byte [ebp + 0x6ab], cl
xor eax, eax
mov dword [ebp + 0x6ac], ecx
mov dword [ebp + 0x6c4], ecx
mov dword [ebp + 0x6c8], str.Click_this_button_to_move_the_currently_selected_column_down_the_list.
mov word [ebp + 0x6cc], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
or dword [ebp + 0x6d8], 0xffffffff
xor eax, eax
mov dword [ebp + 0x6dc], ecx
mov dword [ebp + 0x6e0], str.Show
mov dword [ebp + 0x6e4], ecx
mov dword [ebp + 0x6e8], ecx
mov word [ebp + 0x6ec], 0x5a4b
mov dword [ebp + 0x6ee], ecx
mov word [ebp + 0x6f2], ax
call fcn.00412d86
neg ax
mov dword [ebp + 0x6fa], 0x8000
mov dword [ebp + 0x6fe], 0x48c5b7
lea edi, [ebp + 0x718]
sbb al, al
mov dword [ebp + 0x702], esi
and al, 0xfb
mov dword [ebp + 0x706], 0x487907
xor ecx, ecx
mov dword [ebp + 0x70a], ebx
add al, 0xa
mov byte [ebp + 0x6f5], cl
mov byte [ebp + 0x6f4], al
xor eax, eax
mov dword [ebp + 0x6f6], ecx
mov dword [ebp + 0x70e], ecx
mov dword [ebp + 0x712], str.Click_this_button_to_show_the_currently_selected_column.
mov word [ebp + 0x716], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
or dword [ebp + 0x722], 0xffffffff
mov dword [ebp + 0x726], ecx
mov dword [ebp + 0x72a], str.Hide
mov dword [ebp + 0x72e], ecx
mov dword [ebp + 0x732], ecx
mov word [ebp + 0x736], 0x5a4b
mov dword [ebp + 0x738], ecx
mov word [ebp + 0x73c], ax
call fcn.00412d86
neg ax
mov dword [ebp + 0x744], 0x8000
mov dword [ebp + 0x748], 0x48c52c
lea edi, [ebp + 0x762]
sbb al, al
mov dword [ebp + 0x74c], esi
xor ecx, ecx
mov dword [ebp + 0x750], 0x48777d
and al, 0xfb
mov byte [ebp + 0x73f], cl
add al, 0xa
mov dword [ebp + 0x740], ecx
mov byte [ebp + 0x73e], al
xorps xmm0, xmm0
xor eax, eax
mov dword [ebp + 0x754], ebx
mov dword [ebp + 0x758], ecx
mov dword [ebp + 0x75c], str.Click_this_button_to_hide_the_currently_selected_column.
mov word [ebp + 0x760], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
movups xmmword [ebp + 0x76c], xmm0
mov dword [ebp + 0x77c], ecx
lea edi, [ebp + 0x7ac]
mov word [ebp + 0x780], 0x5a4b
mov dword [ebp + 0x782], ecx
mov dword [ebp + 0x786], eax
mov dword [ebp + 0x78a], str.OK1Cancel0
mov dword [ebp + 0x78e], 0x100
mov dword [ebp + 0x792], ecx
mov dword [ebp + 0x796], 0x42ceba
mov dword [ebp + 0x79a], 0x488990
mov dword [ebp + 0x79e], ecx
mov dword [ebp + 0x7a2], ecx
mov dword [ebp + 0x7a6], ecx
mov word [ebp + 0x7aa], cx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp + 0x51c]
mov dword [ebp], eax
mov eax, 0x29a
push 0x2dd
mov word [ebp + 4], ax
lea eax, [ebp + 6]
push ecx
push eax
call fcn.00443240
add esp, 0xc
call fcn.00412d86
test ax, ax
je 0x4886f5
push 5
pop eax
mov word [ebp - 0x96], ax
jmp 0x488720
mov ax, word [ebp - 0x4a]
push 8
pop ecx
mov word [ebp - 0x96], ax
cmp ax, cx
jae 0x488711
mov eax, ecx
mov word [ebp - 0x96], ax
push 0x14
pop ecx
cmp ax, cx
jbe 0x488720
mov word [ebp - 0x96], cx
lea eax, [ebp - 0x60]
mov dword [ebp + 0x2c7], eax
lea eax, [ebp]
push str.Customise_Columns
push eax
call fcn.00421d32
pop ecx
pop ecx
test ax, ax
jne 0x488753
lea ecx, [ebp - 0x34]
call fcn.004863d4
lea ecx, [ebp - 0x5a]
call fcn.004859e7
jmp 0x487e13
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x5a]
call fcn.0047833e
lea eax, [ebp - 0xb0]
push eax
lea ecx, [ebp - 0x5a]
call fcn.00440e34
mov esi, dword [ebp - 0x38]
mov dword [ebp - 0x18], esi
cmp esi, dword [eax + 8]
je 0x488942
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
push eax
call fcn.0047833e
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0xa4]
push eax
call fcn.00440e34
mov ebx, dword [ebp - 0x1c]
cmp ebx, dword [ebp - 0x9c]
je 0x488923
mov edi, dword [ebp - 0x24]
test edi, edi
jne 0x4887b6
xor eax, eax
jmp 0x4887b8
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, ebx
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x4887d2
xor ecx, ecx
jmp 0x4887d4
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec eax
and eax, esi
mov ecx, dword [ecx + eax*4]
call fcn.00489284
mov ecx, dword [ebp - 0x10]
mov si, ax
call fcn.00489284
cmp ax, si
jne 0x488910
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x488802
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov esi, dword [ebp - 0x18]
dec ecx
mov eax, dword [eax + 4]
and ecx, esi
mov ecx, dword [eax + ecx*4]
test edi, edi
jne 0x48881a
and dword [ebp - 0x10], edi
jmp 0x48881f
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
call fcn.00489c7c
mov ecx, dword [ebp - 0x10]
movzx eax, ax
push eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec eax
and eax, ebx
mov ecx, dword [ecx + eax*4]
call fcn.0048c770
mov eax, dword [ebp - 0x40]
test eax, eax
jne 0x488847
xor ecx, ecx
jmp 0x488849
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec eax
and eax, esi
mov ecx, dword [ecx + eax*4]
call fcn.004891dc
test al, 1
je 0x4888c1
test edi, edi
jne 0x488866
xor ecx, ecx
jmp 0x488868
mov ecx, dword [edi]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec eax
and eax, ebx
push 0xffff
mov ecx, dword [ecx + eax*4]
call fcn.0048c605
test edi, edi
jne 0x488886
xor eax, eax
jmp 0x488888
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, ebx
mov ecx, dword [eax + ecx*4]
test edi, edi
jne 0x48889d
and dword [ebp - 0x10], edi
jmp 0x4888a2
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
call fcn.004891dc
or eax, 1
mov ecx, dword [ebp - 0x10]
push eax
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec eax
and eax, ebx
mov ecx, dword [ecx + eax*4]
call fcn.0048c5fb
jmp 0x488913
test edi, edi
jne 0x4888c9
xor ecx, ecx
jmp 0x4888cb
mov ecx, dword [edi]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
dec eax
push dword [ebp - 0x14]
and eax, ebx
mov ecx, dword [ecx + eax*4]
call fcn.0048c605
inc dword [ebp - 0x14]
test edi, edi
jne 0x4888ea
xor eax, eax
jmp 0x4888ec
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, ebx
mov ecx, dword [eax + ecx*4]
test edi, edi
jne 0x488901
and dword [ebp - 0x10], edi
jmp 0x488906
mov eax, dword [edi]
mov dword [ebp - 0x10], eax
call fcn.004891dc
and eax, 0xfffffffe
jmp 0x4888aa
mov esi, dword [ebp - 0x18]
inc ebx
cmp ebx, dword [ebp - 0x9c]
jne 0x4887ae
mov dword [ebp - 0x1c], ebx
lea eax, [ebp - 0xb0]
inc esi
push eax
lea ecx, [ebp - 0x5a]
mov dword [ebp - 0x18], esi
call fcn.00440e34
cmp esi, dword [eax + 8]
jne 0x488781
mov ebx, dword [ebp - 0x64]
mov ecx, ebx
call fcn.0048babc
mov ecx, ebx
call fcn.0048bc8c
push dword [ebx]
call fcn.004952da
pop ecx
lea ecx, [ebp - 0x34]
call fcn.004863d4
lea ecx, [ebp - 0x5a]
call fcn.004859e7
xor eax, eax
inc eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x828]
xor ecx, ebp
call fcn.00441a5e
lea esp, [ebp + 0x82c]
pop ebp
ret 4